TUTORIAL
Membuat barang yang memakan Dunia
7mnt
proyek contoh 📘 berkas proyek yang digunakan dalam kuliah https //github com/naverz/zepeto world sample/tree/main/assets/chapter2 https //github com/naverz/zepeto world sample/tree/main/assets/chapter2 ringkasan ringkasan berdasarkan apa yang kita pelajari di bab 1, kita akan membuat dunia item yang dapat dimakan menggunakan kecepatan gerakan karakter dan kontrol lompatan kesulitan pemula waktu yang diperlukan 30 menit tujuan proyek penanganan akuisisi item menggunakan event ontrigger memahami cara menerapkan text ui membuat ui controller untuk mencerminkan akuisisi item dalam text ui memahami cara mengontrol tinggi lompatan karakter zepeto memahami cara mengontrol kecepatan gerakan karakter zepeto 🎬 video dunia yang selesai https //www youtube com/watch?v=goeopqfcbbs https //www youtube com/watch?v=goeopqfcbbs skrip charactercontroller ts import { zepetoscriptbehaviour } from 'zepeto script' import { spawninfo, zepetoplayers, localplayer, zepetocharacter } from 'zepeto character controller' import { worldservice } from 'zepeto world'; export default class charactercontroller extends zepetoscriptbehaviour { start() { //mengambil userid (masuk melalui editor) zepetoplayers instance createplayerwithuserid(worldservice userid,new spawninfo(), true); zepetoplayers instance onaddedlocalplayer addlistener(() => { let player localplayer = zepetoplayers instance localplayer; }); } } getitem ts import { collider, vector3, gameobject, transform } from 'unityengine'; import { zepetocharacter, zepetoplayer, zepetoplayers } from 'zepeto character controller'; import { zepetoscriptbehaviour, zepetoscriptinstance } from 'zepeto script'; // mengimpor skrip kustom dari jalur import uicontroller from ' /uicontroller'; export default class getitem extends zepetoscriptbehaviour { public extcomponentgameobject gameobject; private extcomponent uicontroller; private zepetocharacter zepetocharacter; start() { //objek karakter zepeto zepetoplayers instance onaddedlocalplayer addlistener(() => { this zepetocharacter = zepetoplayers instance localplayer zepetoplayer character; }); //impor skrip this extcomponent = this extcomponentgameobject getcomponent\<uicontroller>(); } ontriggerenter(collider collider) { if (this zepetocharacter == null || collider gameobject != this zepetocharacter gameobject) return; //mengirim pesan untuk meningkatkan jumlah setelah memakan item this extcomponent increasecount(); //hancurkan item gameobject destroy(this gameobject); } } jumppower ts import { collider } from 'unityengine'; import { zepetoplayers, zepetocharacter } from 'zepeto character controller'; import { zepetoscriptbehaviour } from 'zepeto script'; export default class jumppower extends zepetoscriptbehaviour { public jumppower number = 5; private zepetocharacter \ zepetocharacter; start() { //objek karakter zepeto zepetoplayers instance onaddedlocalplayer addlistener(() => { this zepetocharacter = zepetoplayers instance localplayer zepetoplayer character; }); } ontriggerenter(collider collider) { if (this zepetocharacter == null || collider gameobject != this zepetocharacter gameobject) return; //tambahkan jumppower this zepetocharacter additionaljumppower = this jumppower; } ontriggerexit(collider collider) { //kembalikan kekuatan lompat ke normal this zepetocharacter additionaljumppower = 0; } } speedup ts import { collider, gameobject, waitforseconds } from 'unityengine'; import { zepetocharacter, zepetoplayers } from 'zepeto character controller'; import { zepetoscriptbehaviour } from 'zepeto script'; export default class speedup extends zepetoscriptbehaviour { private zepetocharacter \ zepetocharacter; public runspeed number = 4; public waittime number = 3; start() { //objek karakter zepeto zepetoplayers instance onaddedlocalplayer addlistener(() => { this zepetocharacter = zepetoplayers instance localplayer zepetoplayer character; }); } ontriggerenter(collider collider) { if (this zepetocharacter == null || collider gameobject != this zepetocharacter gameobject) return; this zepetocharacter additionalrunspeed = this runspeed; this startcoroutine(this doroutine()); } doroutine() { //tunggu nilai waittime yield new waitforseconds(this waittime); //kembalikan kecepatan lari ke normal this zepetocharacter additionalrunspeed = 0; } } uicontroller ts import { zepetoscriptbehaviour } from 'zepeto script'; import { text } from "unityengine ui"; import { gameobject } from 'unityengine'; export default class uicontroller extends zepetoscriptbehaviour { public resultui text; public maxcount number = 7; private stringproperty string; private message string; private count number; start() { //inisialisasi nilai this message = "item"; this count = 0; } public increasecount() { this count++; if(this count >= this maxcount) { this resultui text = "bersih!"; } else { this stringproperty = `${this message} ${this count}`; this resultui text = this stringproperty; } } }