BUAT DUNIAMU
Pemain & Karakter: Lanjutan
Menggunakan V-pad
19mnt
v pad antarmuka kontrol diperlukan untuk memanipulasi karakter dalam dunia zepeto world pada dasarnya membuat antarmuka kontrol yang disebut v pad saat runtime melalui zepetoplayers v pad dapat melakukan fungsi berikut tergantung pada area yang disentuh pemain di layar 1\) layar sentuh ketika anda menyentuh area pad dan menggesernya ke atas, bawah, kiri, atau kanan, pemain lokal bergerak di sepanjang sumbu xz ketika anda mengetuk di dalam area pad, touchpad muncul di lokasi yang disentuh, dan menghilang setelah aksi sentuh selesai area pad default adalah sebagai berikut mode layar ukuran kanvas ukuran area horizontal 1334 x 750 600 x 450 vertikal 750 x 1334 375 x 500 2\) tombol lompat menekan tombol menyebabkan pemain lokal melompat nilai tinggi dari lompatan dapat diubah melalui zepeto players > karakter > daya lompat 👍 tips area pad dapat diubah dengan mengatur area prefab yang terdaftar di kontrol pemain zepeto ubah ukuran area dalam urutan berikut pilih prefab default yang terdaftar di kontrol pemain zepeto dan salin prefab dengan menyeret dan menjatuhkannya ke dalam assets pilih objek pad di dalam prefab yang disalin ubah lebar dan tinggi komponen rect transform ke ukuran yang diinginkan struktur objek v pad yang dibuat saat runtime adalah sebagai berikut 1\) pad objek ui layar yang dapat menggerakkan posisi karakter latar belakang gambar latar belakang hitam transparan yang menunjukkan area pad handleorigin area lingkaran luar dari pad handleorigin mengubah posisi tergantung pada lokasi yang disentuh handle area lingkaran dalam dari pad ketika handle disentuh dan diseret, posisinya berubah dan tidak meninggalkan area handleorigin 2) lompat objek tombol yang memungkinkan karakter untuk melompat atas objek gambar lompat di dalam tombol lompat cara mendapatkan nilai input v pad untuk menerima nilai input v pad, anda harus mengakses komponen zepetoscreentouchpad dan komponen zepetoscreenbutton yang dibuat saat runtime dan mendaftarkan sebuah event event zepetoscreentouchpad komponen zepetoscreenbutton adalah komponen tombol lompat karakter event yang dapat diakses termasuk event deskripsi onpointerdownevent event ini terjadi ketika pengguna menekan v pad ondragevent event ini terjadi saat pengguna menekan v pad onpointerupevent event ini terjadi ketika pengguna melepaskan v pad zepetoscreenbutton event komponen zepetoscreenbutton adalah komponen tombol loncat karakter acara yang dapat diakses termasuk acara deskripsi onpointdownevent acara ini terjadi ketika pengguna menekan tombol loncat onpointupevent acara ini terjadi ketika pengguna melepaskan tombol loncat contoh skrip skrip berikut adalah contoh untuk mengeluarkan nilai posisi v pad ke konsol ketika pengguna menekan touchpad getvpadinput import { object } from 'unityengine'; import { zepetoplayers, zepetoscreenbutton, zepetoscreentouchpad } from 'zepeto character controller'; import { zepetoscriptbehaviour } from 'zepeto script' export default class getvpadinput extends zepetoscriptbehaviour { start() { // tambahkan pendengar untuk acara ketika pemain lokal ditambahkan zepetoplayers instance onaddedlocalplayer addlistener(() => { this getpadtouch(); this getjumptouch(); }); } getpadtouch() { // temukan objek zepetoscreentouchpad di dalam scene const touchpad = object findobjectoftype\<zepetoscreentouchpad>(); // tambahkan pendengar untuk acara drag pada touchpad touchpad ondragevent addlistener(() => { // catat posisi pegangan sentuh ketika acara drag terjadi console log(touchpad touchhandle transform position); }); } getjumptouch() { // temukan objek zepetoscreenbutton di dalam scene const screenbutton = object findobjectoftype\<zepetoscreenbutton>(); // tambahkan pendengar untuk onpointdownevent dari screenbutton // pendengar ini mencatat "tombol lompat turun" ketika tombol ditekan screenbutton onpointdownevent addlistener(() => { console log("tombol lompat turun"); }); // tambahkan pendengar untuk onpointupevent dari screenbutton // pendengar ini mencatat "tombol lompat naik" ketika tombol dilepaskan screenbutton onpointupevent addlistener(() => { console log("tombol lompat naik"); }); } } deskripsi skrip daftarkan pendengar acara yang memanggil getpadtouch() dan getjumptouch() fungsi ketika pemain lokal ditambahkan ke dalam adegan fungsi getpadtouch() adalah fungsi yang memproses acara sentuh yang terjadi pada touchpad gunakan object findobjectoftype\<zepetoscreentouchpad>() untuk menemukan objek zepetoscreentouchpad dalam adegan tambahkan pendengar untuk ondragevent pendengar ini akan aktif ketika acara drag terjadi pada touchpad di dalam pendengar, lokasi pegangan sentuh akan dikeluarkan ke konsol fungsi getjumptouch() adalah fungsi yang memproses acara yang terjadi dari tombol lompat gunakan object findobjectoftype\<zepetoscreenbutton>() untuk menemukan objek zepetoscreenbutton dalam adegan tambahkan pendengar untuk onpointdownevent dan onpointupevent dari tombol lompat di dalam onpointdownevent , sebuah log yang disebut jump button down dikeluarkan setiap kali tombol lompat ditekan di dalam onpointupevent , sebuah log yang disebut jump button up dikeluarkan setiap kali tombol lompat dilepaskan jika anda menjalankannya dengan menekan tombol putar, anda dapat melihat nilai posisi v pad ditampilkan di log konsol setiap kali anda menekan v pad anda juga akan melihat log konsol ditampilkan setiap kali anda menekan atau melepaskan tombol lompat kustomisasi v pad anda dapat mengontrol v pad menggunakan screentouchpad dan screenbutton anda dapat menghidupkan/mematikan v pad dari uicontroller touchpad horizontal, dan uicontroller touchpad vertical prefab berikut adalah tampilan saat touch pad dimatikan anda dapat mematikan tombol lompatan dengan cara yang sama pengaturan lompatan ganda anda dapat menambahkan fungsi lompatan ganda ke tombol lompatan v pad atau menerapkan fungsi tombol lompatan ganda kustom untuk mengaktifkan fitur lompatan ganda, aktifkan kotak centang parameter kustom > lompatan ganda di bagian karakter dari komponen zepetoplayers tinggi dari lompatan ganda dapat diatur dengan menyesuaikan nilai daya ada tiga cara untuk menggunakan fitur lompatan ganda pada v pad 1\) pengaturan melalui prefab v pad saat menggunakan lompatan ganda dengan tombol v pad, atur sebagai berikut klik prefab uicontroller touchpad vertical atau uicontroller touchpad horizontal anda akan dipindahkan ke folder tempat prefab asli berada di bawah folder packages di panel proyek salin prefab uicontroller touchpad vertical atau uicontroller touchpad horizontal dengan menyeret dan menjatuhkannya ke dalam folder assets ❗️ peringatan prefab asli di folder packages tidak dapat dimodifikasi, jadi anda harus menyalin salinan ke folder assets untuk memodifikasinya jika anda mencoba memodifikasi prefab asli, akan terjadi kesalahan immutable prefab klik dua kali pada prefab uicontroller touchpad vertical atau uicontroller touchpad horizontal di item prefab yang disalin atau tekan tombol buka prefab di jendela inspector untuk mengedit prefab pilih objek jump dari sub objek prefab di komponen tombol layar zepeto dari objek jump, tekan tombol + di on point down event() dan daftarkan sebuah acara sebagai berikut on point down event() hanya runtime pilih objek daftarkan uicontroller touchpad vertical atau uicontroller touchpad horizontal fungsi acara klik bagian no function dan atur ke uizepetoplayercontrol > doublejump() fungsi jika pengaturannya sebagai berikut, itu berhasil 2\) pengaturan menggunakan skrip skrip ini memungkinkan karakter untuk melakukan lompatan ganda sebagai respons terhadap input dari tombol lompat v pad import { zepetoscriptbehaviour } from 'zepeto script'; import { object } from 'unityengine'; import { zepetoscreenbutton, characterstate, zepetoplayers } from 'zepeto character controller'; export default class dobulejump extends zepetoscriptbehaviour { start() { // dengarkan ketika pemain lokal ditambahkan dan jalankan fungsi lambda yang diberikan zepetoplayers instance onaddedlocalplayer addlistener(() => { // ambil karakter pemain lokal const zepetocharacter = zepetoplayers instance localplayer zepetoplayer character; // temukan objek tipe zepetoscreenbutton di scene const screenbutton = object findobjectoftype\<zepetoscreenbutton>(); // tambahkan pendengar untuk onpointdownevent dari tombol layar untuk menangani aksi lompatan screenbutton onpointdownevent addlistener(() => { // jika keadaan karakter saat ini adalah jump, aktifkan lompatan ganda if (zepetocharacter currentstate === characterstate jump) { zepetocharacter doublejump(); } }); }) } } deskripsi skrip zepetoplayers instance onaddedlocalplayer addlistener() mendaftar pendengar yang dipicu ketika pemain lokal ditambahkan ke permainan ini berfungsi untuk mengonfigurasi fitur lompatan ganda yang akan ditambahkan saat pemain lokal ditambahkan zepetoplayers instance localplayer zepetoplayer character memberikan akses ke karakter pemain lokal object findobjectoftype() menemukan objek tipe zepetoscreenbutton di scene saat ini dan menetapkannya untuk aksi lompatan screenbutton onpointdownevent addlistener() menambahkan pendengar ke onpointdownevent tombol layar pendengar ini menunggu baik sentuhan layar atau klik dan memulai aksi lompatan atau lompatan ganda di dalam pendengar, pernyataan if memeriksa apakah keadaan karakter saat ini adalah characterstate jump jika benar, itu mengeksekusi zepetocharacter doublejump() setelah menulis skrip, buat gameobject kosong di scene dan tambahkan skrip dobulejump ts sebagai komponen 3\) pengaturan melalui tombol kustom jika anda memilih untuk membuat dan menggunakan tombol anda sendiri, silakan tambahkan skrip seperti yang ditunjukkan di bawah ini skrip ini menambahkan fungsi lompatan dan lompatan ganda ke tombol yang ditentukan oleh pengguna import { zepetoscriptbehaviour } from 'zepeto script'; import { button } from 'unityengine ui'; import { characterstate, zepetocharacter, zepetoplayers } from 'zepeto character controller'; export default class jumpbutton extends zepetoscriptbehaviour { public shotbutton button; private zepetocharacter zepetocharacter; start() { // buat karakter zepetoplayers instance onaddedlocalplayer addlistener(() => { this zepetocharacter = zepetoplayers instance localplayer zepetoplayer character; }); // tambahkan komponen skrip this shotbutton onclick addlistener(() => { if (this zepetocharacter currentstate === characterstate jump) { this zepetocharacter doublejump(); } else { this zepetocharacter jump(); } }); } } deskripsi skrip zepetoplayers instance onaddedlocalplayer addlistener() mendaftarkan fungsi yang akan dijalankan ketika pemain lokal ditambahkan ke dalam permainan this shotbutton onclick addlistener() menambahkan fungsi yang akan dijalankan ketika shotbutton diklik ketika fungsi dipicu, ia memeriksa apakah keadaan karakter saat ini adalah keadaan melompat dan menjalankan lompatan atau lompatan ganda jika karakter berada dalam keadaan melompat, this zepetocharacter doublejump() dipanggil untuk melakukan lompatan ganda; jika tidak, this zepetocharacter jump() dipanggil untuk melakukan lompatan setelah menulis skrip, buat gameobject kosong di dalam scene dan tambahkan skrip jumpbutton ts sebagai komponen akhirnya, tetapkan tombol lompatan ke tombol tembakan di inspector