CRÉEZ VOTRE MONDE
Joueurs & Personnages : Avancé

Utilisation de V-pad

20min
v pad une interface de contrôle est nécessaire pour manipuler le personnage dans le monde zepeto world crée essentiellement une interface de contrôle appelée v pad à l'exécution via zepetoplayers le v pad peut effectuer les fonctions suivantes en fonction de la zone que le joueur touche sur l'écran 1\) écran tactile lorsque vous touchez la zone du pavé et que vous le faites glisser vers le haut, vers le bas, à gauche ou à droite, le joueur local se déplace le long de l'axe xz lorsque vous appuyez dans la zone du pavé, le pavé tactile apparaît à l'emplacement touché, et il disparaît une fois l'action de toucher terminée les zones de pavé par défaut sont les suivantes mode écran taille du canevas taille de la zone horizontal 1334 x 750 600 x 450 vertical 750 x 1334 375 x 500 2\) bouton de saut appuyer sur le bouton fait sauter le joueur local la valeur de hauteur du saut peut être modifiée via zepeto players > character > jump power 👍 conseils la zone du pad peut être modifiée en définissant la zone du prefab enregistré dans le contrôle des joueurs zepeto changez la taille de la zone dans l'ordre suivant sélectionnez le prefab par défaut enregistré dans le contrôle des joueurs zepeto et copiez le prefab en le faisant glisser et en le déposant dans les assets sélectionnez l'objet pad à l'intérieur du prefab copié changez la largeur et la hauteur du composant rect transform à la taille souhaitée la structure de l'objet v pad créée à l'exécution est la suivante 1\) pad un objet d'interface utilisateur d'écran qui peut déplacer la position du personnage arrière plan une image d'arrière plan noire translucide montrant la zone du pad handleorigin la zone du cercle extérieur du pad handleorigin change de position en fonction de l'emplacement touché handle la zone du cercle intérieur du pad lorsque le handle est touché et glissé, sa position change et il ne quitte pas la zone de handleorigin 2) saut un objet bouton qui permet au personnage de sauter haut objet image de saut à l'intérieur du bouton saut comment obtenir la valeur d'entrée du v pad pour recevoir les valeurs d'entrée du v pad, vous devez accéder au composant zepetoscreentouchpad et au composant zepetoscreenbutton créés à l'exécution et enregistrer un événement événement zepetoscreentouchpad le composant zepetoscreenbutton est un composant de bouton de saut de personnage les événements accessibles incluent événement description onpointerdownevent cet événement se produit lorsque l'utilisateur appuie sur le v pad ondragevent cet événement se produit pendant que l'utilisateur appuie sur le v pad onpointerupevent cet événement se produit lorsque l'utilisateur relâche le v pad événement zepetoscreenbutton le composant zepetoscreenbutton est un composant de bouton de saut de personnage les événements accessibles incluent événement description onpointdownevent cet événement se produit lorsque l'utilisateur appuie sur le bouton de saut onpointupevent cet événement se produit lorsque l'utilisateur relâche le bouton de saut exemple de script le script suivant est un exemple de sortie de la valeur de position du v pad dans la console lorsque l'utilisateur appuie sur le pavé tactile 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() { // ajouter un écouteur pour l'événement lorsque un joueur local est ajouté zepetoplayers instance onaddedlocalplayer addlistener(() => { this getpadtouch(); this getjumptouch(); }); } getpadtouch() { // trouver l'objet zepetoscreentouchpad dans la scène const touchpad = object findobjectoftype\<zepetoscreentouchpad>(); // ajouter un écouteur pour l'événement de glissement sur le touchpad touchpad ondragevent addlistener(() => { // enregistrer la position de la poignée de toucher lorsque un événement de glissement se produit console log(touchpad touchhandle transform position); }); } getjumptouch() { // trouver l'objet zepetoscreenbutton dans la scène const screenbutton = object findobjectoftype\<zepetoscreenbutton>(); // ajouter un écouteur à l'onpointdownevent du screenbutton // cet écouteur enregistre "bouton de saut enfoncé" lorsque le bouton est pressé screenbutton onpointdownevent addlistener(() => { console log("bouton de saut enfoncé"); }); // ajouter un écouteur à l'onpointupevent du screenbutton // cet écouteur enregistre "bouton de saut relâché" lorsque le bouton est relâché screenbutton onpointupevent addlistener(() => { console log("bouton de saut relâché"); }); } } description du script enregistrez un écouteur d'événements qui appelle le getpadtouch() et getjumptouch() fonctions lorsque un joueur local est ajouté à la scène la getpadtouch() fonction est une fonction qui traite les événements tactiles qui se produisent sur le pavé tactile utilisez object findobjectoftype\<zepetoscreentouchpad>() pour trouver un objet zepetoscreentouchpad dans la scène ajoutez un écouteur pour l' ondragevent cet écouteur se déclenche lorsqu'un événement de glissement se produit sur le pavé tactile dans l'écouteur, la position de la poignée tactile est affichée dans la console la getjumptouch() fonction est une fonction qui traite les événements qui se produisent à partir du bouton de saut utilisez object findobjectoftype\<zepetoscreenbutton>() pour trouver un objet zepetoscreenbutton dans la scène ajoutez des écouteurs pour les événements onpointdownevent et onpointupevent du bouton de saut dans onpointdownevent , un log appelé jump button down est affiché chaque fois que le bouton de saut est pressé dans onpointupevent , un log appelé jump button up est affiché chaque fois que le bouton de saut est relâché si vous l'exécutez en appuyant sur le bouton lecture, vous pouvez voir la valeur de position du v pad affichée dans le journal de la console chaque fois que vous appuyez sur le v pad vous verrez également le journal de la console affiché chaque fois que vous appuyez ou relâchez le bouton de saut personnaliser le v pad vous pouvez contrôler le v pad en utilisant screentouchpad et screenbutton vous pouvez allumer/éteindre le v pad depuis uicontroller touchpad horizontal et uicontroller touchpad vertical prefab voici à quoi cela ressemble avec le touch pad désactivé vous pouvez désactiver le bouton de saut de la même manière paramètre de double saut vous pouvez ajouter une fonction de double saut au bouton de saut du v pad ou appliquer une fonction de bouton de double saut personnalisée pour activer la fonction de double saut, activez la case à cocher paramètres personnalisés > double saut dans la section caractère du composant zepetoplayers la hauteur du double saut peut être réglée en ajustant la valeur de puissance il y a trois façons d'utiliser la fonction de double saut sur le v pad 1\) réglage via le prefab v pad lors de l'utilisation du double saut avec le bouton v pad, configurez comme suit cliquez sur le prefab uicontroller touchpad vertical ou uicontroller touchpad horizontal vous serez déplacé vers le dossier où se trouve le prefab original sous le dossier packages dans le panneau projet copiez le prefab uicontroller touchpad vertical ou uicontroller touchpad horizontal en le faisant glisser et en le déposant dans le dossier assets ❗️ avertissement le prefab original dans le dossier packages ne peut pas être modifié, vous devez donc en copier une copie dans le dossier assets pour le modifier si vous essayez de modifier le prefab original, une erreur de prefab immuable se produira double cliquez sur le prefab uicontroller touchpad vertical ou uicontroller touchpad horizontal dans l'élément prefab copié ou appuyez sur le bouton ouvrir prefab dans la fenêtre inspecteur pour modifier le prefab sélectionnez l'objet jump parmi les sous objets du prefab dans le composant zepeto screen button de l'objet jump, appuyez sur le bouton + dans on point down event() et enregistrez un événement comme suit on point down event() runtime only sélectionnez l'objet enregistrer uicontroller touchpad vertical ou uicontroller touchpad horizontal fonction d'événement cliquez sur la section no function et définissez la sur uizepetoplayercontrol > doublejump() fonction si les paramètres sont les suivants, c'est réussi 2\) paramétrage à l'aide d'un script ce script permet au personnage d'effectuer un double saut en réponse à l'entrée du bouton de saut du 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() { // écoutez quand un joueur local est ajouté et exécutez la fonction lambda donnée zepetoplayers instance onaddedlocalplayer addlistener(() => { // récupérez le personnage du joueur local const zepetocharacter = zepetoplayers instance localplayer zepetoplayer character; // trouvez un objet de type zepetoscreenbutton dans la scène const screenbutton = object findobjectoftype\<zepetoscreenbutton>(); // ajoutez un écouteur pour l'événement onpointdownevent du bouton d'écran pour gérer les actions de saut screenbutton onpointdownevent addlistener(() => { // si l'état actuel du personnage est jump, déclenchez un double saut if (zepetocharacter currentstate === characterstate jump) { zepetocharacter doublejump(); } }); }) } } description du script zepetoplayers instance onaddedlocalplayer addlistener() enregistre un écouteur qui est déclenché lorsqu'un joueur local est ajouté au jeu cela sert à configurer la fonctionnalité de double saut à ajouter au fur et à mesure que des joueurs locaux sont ajoutés zepetoplayers instance localplayer zepetoplayer character fournit un accès au personnage du joueur local object findobjectoftype() localise un objet de type zepetoscreenbutton dans la scène actuelle et l'assigne aux actions de saut screenbutton onpointdownevent addlistener() ajoute un écouteur à l'onpointdownevent du bouton d'écran cet écouteur attend soit un toucher d'écran soit un événement de clic et initie une action de saut ou de double saut dans l'écouteur, l'instruction if vérifie si l'état actuel du personnage est characterstate jump si c'est vrai, elle exécute zepetocharacter doublejump() après avoir écrit le script, créez un gameobject vide dans la scène et ajoutez le script dobulejump ts en tant que composant 3\) paramétrage via un bouton personnalisé si vous choisissez de créer et d'utiliser votre propre bouton, veuillez ajouter le script comme indiqué ci dessous ce script ajoute des fonctions de saut et de double saut aux boutons définis par l'utilisateur 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() { // créer le personnage zepetoplayers instance onaddedlocalplayer addlistener(() => { this zepetocharacter = zepetoplayers instance localplayer zepetoplayer character; }); // ajouter le composant de script this shotbutton onclick addlistener(() => { if (this zepetocharacter currentstate === characterstate jump) { this zepetocharacter doublejump(); } else { this zepetocharacter jump(); } }); } } description du script zepetoplayers instance onaddedlocalplayer addlistener() enregistre une fonction à exécuter lorsque un joueur local est ajouté au jeu this shotbutton onclick addlistener() ajoute une fonction à exécuter lorsque le bouton de tir est cliqué lorsque la fonction est déclenchée, elle vérifie si l'état actuel du personnage est un état de saut et exécute un saut ou un double saut si le personnage est dans un état de saut, this zepetocharacter doublejump() est appelé pour effectuer un double saut ; sinon, this zepetocharacter jump() est appelé pour effectuer un saut après avoir écrit le script, créez un gameobject vide dans la scène et ajoutez le script jumpbutton ts en tant que composant enfin, assignez un bouton de saut au bouton de tir dans l'inspecteur