BUAT DUNIAMU
Naskah
ScriptableObject
5min
zepetoscriptableobject mendukung unity scriptableobject zepetoscriptableobject adalah wadah data yang menyimpan sejumlah besar data, seperti pengaturan data dunia dan opsi karakter untuk membuat file zepetoscriptableobject baru, klik ikon \[+] di sudut kiri atas panel proyek, atau klik aset → buat → zepeto → scriptableobject zepetoscriptableobject yang baru dibuat perlu dihubungkan dengan membuat skrip dengan kelas data yang ditentukan buat file zepetoscript baru, dan deklarasikan data yang akan anda gunakan sebagai variabel anggota berikut adalah beberapa contoh kode yang dapat digunakan sebagai data typescript import { vector3, quaternion } from 'unityengine'; export default class playerscriptobjectdef { public name string; public hp number; public position vector3; public rotation vector3; } ketika anda menghubungkan zepetoscript dengan kelas data yang ditentukan ke zepetoscriptableobjects, anda akan melihat data tersebut di jendela inspector, seperti yang ditunjukkan di bawah ini buat file zepetoscript untuk memanggil data dari zepetoscriptableobject impor zepetoscriptableobject dari zepetoscript dan impor juga tipe data yang telah anda deklarasikan typescript import { zepetoscriptableobject } from 'zepeto script'; import playerscriptobjectdef from ' /playerdefine/playerscriptobjectdef'; deklarasikan zepetoscriptableobject sebagai properti di zepetoscript typescript public player zepetoscriptableobject\<playerscriptobjectdef>; public enemy zepetoscriptableobject\<playerscriptobjectdef>; buka jendela inspector di zepetoscript untuk menetapkan nilai untuk properti zepetoscriptableobject, seperti yang ditunjukkan di bawah ini contoh ini menunjukkan bagaimana anda dapat menggunakan zepetoscriptableobject dan mengakses nilainya typescript // akses langsung berdasarkan nama console log(`nama pemain ${this player\["name"]}`); console log(`hp pemain ${this player\["hp"]}`); console log(`posisi pemain (${this player\["position"] x}, ${this player\["position"] y}, ${this player\["position"] z})`); console log(`rotasi pemain (${this player\["rotation"] x}, ${this player\["rotation"] y}, ${this player\["rotation"] z})`); // panggilan data generik let monsterstate = this enemy targetobject; console log(`nama musuh ${monsterstate name}`); console log(`hp musuh ${monsterstate hp}`); console log(`posisi musuh (${monsterstate position x}, ${monsterstate position y}, ${monsterstate position z})`); console log(`rotasi musuh (${monsterstate rotation x}, ${monsterstate rotation y}, ${monsterstate rotation z})`); untuk mengakses tipe primitif dari variabel anggota, deklarasikan sebagai tipe generik atau ubah menggunakan casting tipe, seperti contoh yang ditunjukkan di bawah typescript // casting tipe let playerposition = this player\["position"] as vector3; console log(`posisi pemain (x ${playerposition x}, y ${playerposition y}, z ${playerposition z})`); // tipe generik dapat mengakses anggota kelas console log(`posisi musuh (x ${monsterstate position x}, y ${monsterstate position y}, z ${monsterstate position z})`); periksa contoh kode lengkap untuk scriptableobject typescript import { vector3 } from 'unityengine'; import { zepetoscriptbehaviour, zepetoscriptableobject } from 'zepeto script'; // impor definisi tipe objek scriptable import playerscriptobjectdef from ' /playerdefine/playerscriptobjectdef'; export default class scriptableobjectsample extends zepetoscriptbehaviour { public player zepetoscriptableobject; // panggilan tipe generik public enemy zepetoscriptableobject\<playerscriptobjectdef>; awake() { // akses langsung berdasarkan nama console log(`nama pemain ${this player\["name"]}`); console log(`hp pemain ${this player\["hp"]}`); console log(`posisi pemain (${this player\["position"] x}, ${this player\["position"] y}, ${this player\["position"] z})`); console log(`rotasi pemain (${this player\["rotation"] x}, ${this player\["rotation"] y}, ${this player\["rotation"] z})`); // panggilan data generik let monsterstate = this enemy targetobject; console log(`nama musuh ${monsterstate name}`); console log(`hp musuh ${monsterstate hp}`); console log(`posisi musuh (${monsterstate position x}, ${monsterstate position y}, ${monsterstate position z})`); console log(`rotasi musuh (${monsterstate rotation x}, ${monsterstate rotation y}, ${monsterstate rotation z})`); // casting tipe let playerposition = this player\["position"] as vector3; console log(`posisi pemain (${playerposition x}, ${playerposition y}, ${playerposition z})`); // tipe generik dapat mengakses anggota kelas console log(`posisi musuh (${monsterstate position x}, ${monsterstate position y}, ${monsterstate position z})`); } }