TUTORIELS

Créer un objet qui mange le Monde

7min
projet d'échantillon 📘 fichiers de projet utilisés dans la conférence https //github com/naverz/zepeto world sample/tree/main/assets/chapter2 https //github com/naverz/zepeto world sample/tree/main/assets/chapter2 résumé résumé basé sur ce que nous avons appris dans le chapitre 1, nous allons créer un monde où les objets sont mangés en utilisant la vitesse de mouvement du personnage et le contrôle du saut difficulté débutant temps requis 30 minutes objectifs du projet gestion de l'acquisition d'éléments en utilisant l'événement ontrigger comprendre comment appliquer l'interface utilisateur text ui créer un contrôleur d'interface utilisateur pour refléter l'acquisition d'éléments dans l'interface utilisateur text ui comprendre comment contrôler la hauteur du saut du personnage zepeto comprendre comment contrôler la vitesse de mouvement des personnages zepeto 🎬 vidéo du monde terminé https //www youtube com/watch?v=goeopqfcbbs https //www youtube com/watch?v=goeopqfcbbs scripts 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() { //obtient l'userid (connecté via l'éditeur) 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'; // importer un script personnalisé depuis le chemin import uicontroller from ' /uicontroller'; export default class getitem extends zepetoscriptbehaviour { public extcomponentgameobject gameobject; private extcomponent uicontroller; private zepetocharacter zepetocharacter; start() { //objet personnage zepeto zepetoplayers instance onaddedlocalplayer addlistener(() => { this zepetocharacter = zepetoplayers instance localplayer zepetoplayer character; }); //importation de script this extcomponent = this extcomponentgameobject getcomponent\<uicontroller>(); } ontriggerenter(collider collider) { if (this zepetocharacter == null || collider gameobject != this zepetocharacter gameobject) return; //envoie un message d'augmentation d'un compte après avoir mangé un objet this extcomponent increasecount(); //détruit l'objet 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() { //objet du personnage 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; //ajouter la puissance de saut this zepetocharacter additionaljumppower = this jumppower; } ontriggerexit(collider collider) { //ramener la puissance de saut à la normale 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() { //objet du personnage 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() { //attendre la valeur de waittime yield new waitforseconds(this waittime); //ramener la vitesse de course à la normale 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() { //valeur d'initialisation this message = "articles"; this count = 0; } public increasecount() { this count++; if(this count >= this maxcount) { this resultui text = "clair!"; } else { this stringproperty = `${this message} ${this count}`; this resultui text = this stringproperty; } } }