CRÉEZ VOTRE MONDE
Scriptage
Fonctions d'Événements
9min
les fonctions d'événements sont des fonctions spéciales appelées automatiquement pendant le cycle de vie d'un gameobject ou d'un composant dans le moteur unity par conséquent, elles sont également appelées fonctions d'événements de cycle de vie les fonctions d'événements sont appelées automatiquement par le moteur unity à des moments spécifiques les fonctions d'événements sont des fonctions spéciales appelées automatiquement pendant le cycle de vie d'un gameobject ou d'un composant dans le moteur unity, c'est pourquoi elles sont également appelées fonctions d'événements de cycle de vie diagramme de flux du cycle de vie du script zepeto événements d'initialisation vous pouvez utiliser un événement d'initialisation pour appeler le code d'initialisation avant une mise à jour la fonction start est appelée avant toute mise à jour de physique et avant la première image, tandis que la fonction awake est appelée pour chaque objet dans la scène lors de l'appel d'une scène les fonctions start et awake pour divers objets sont appelées dans un ordre aléatoire, mais tous les appels awake sont terminés avant que start ne soit appelé cela signifie que la fonction start peut utiliser d'autres initialisations précédemment effectuées dans la fonction awake événements de mise à jour réguliers les mises à jour régulières font référence à toutes les mises à jour appelées à chaque image elles changent la position, l'état et le comportement des objets avant que chaque image ne soit rendue zepetoscript fournit une ligne directrice pour le traitement des calculs dans la fonction update événements physiques les événements physiques appellent des fonctions d'événements via un script ajouté dans le gameobject les fonctions oncollisionenter, oncollisionstay et oncollisionexit sont appelées lorsque le contact est établi, maintenu et rompu les fonctions ontriggerenter, ontriggerstay et ontriggerexit sont appelées lorsqu'un colliseur d'objet est configuré comme un déclencheur (c'est à dire un colliseur qui ne réagit pas physiquement aux collisions mais les détecte simplement) de telles fonctions peuvent être appelées plusieurs fois de suite si plusieurs contacts sont détectés pendant la mise à jour physique, et ainsi des paramètres sont envoyés à la fonction qui fournit des détails sur la collision (position, identité de l'objet) événements gui zepetoscript prend en charge les événements qui rendent des contrôles gui et réagissent aux clics des éléments ils fonctionnent différemment des mises à jour de trame normales, donc la logique liée à l'ui doit être placée dans la fonction ongui événements de souris dans zepetoscript, les événements qui répondent aux interactions de la souris sont pris en charge cependant, les événements de la souris nécessitent qu'un collider ou collider2d soit présent sur le gameobject concerné, et ils ne sont déclenchés que lorsque ce collider est cliqué avec la souris onmousedown() est appelé lorsque l'utilisateur clique sur le bouton de la souris onmouseup() est appelé lorsque l'utilisateur relâche le bouton de la souris onmouseover() est appelé à chaque image pendant que le curseur de la souris est sur le collider ou collider2d du gameobject événements de terminaison les événements de terminaison sont appelés dans tous les objets activés dans une scène la fonction ondisable est appelée lorsqu'un objet donné est désactivé ou inactif, et onapplicationquit est appelé sur tous les gameobjects avant la fermeture de l'application 📘 fonctions d'événements unity https //docs unity3d com/kr/current/manual/eventfunctions html https //docs unity3d com/kr/current/manual/eventfunctions html toutes les fonctions d'événements prises en charge par zepetoscript sont énumérées dans le code d'exemple ci dessous cycle de vie sample monobehaviour import { zepetoscriptbehaviour } from 'zepeto script'; import { collider, collider2d, collision, collision2d } from 'unityengine'; export default class samplemonobehaviourlifecycle extends zepetoscriptbehaviour { awake() { console log('éveillé '); } onenable() { console log('activé '); } start() { console log('démarrer '); } update() { console log('mise à jour '); } fixedupdate() { console log('mise à jour fixe '); } lateupdate() { console log('mise à jour tardive '); } ondisable() { console log('désactivé '); } ondestroy() { console log('détruit '); } ontriggerenter(coll collider) { console log(`entrée de déclencheur ${coll gameobject name} `); } ontriggerexit(coll collider) { console log(`sortie de déclencheur ${coll gameobject name} `); } ontriggerstay(coll collider) { console log(`rester dans le déclencheur ${coll gameobject name} `); } ontriggerenter2d(coll collider2d) { console log(`entrée de déclencheur 2d ${coll gameobject name} `); } ontriggerexit2d(coll collider2d) { console log(`sortie de déclencheur 2d ${coll gameobject name} `); } ontriggerstay2d(coll collider2d) { console log(`rester dans le déclencheur 2d ${coll gameobject name} `); } oncollisionenter(coll collision) { console log(`entrée de collision ${coll gameobject name} `); } oncollisionexit(coll collision) { console log(`sortie de collision ${coll gameobject name} `); } oncollisionstay(coll collision) { console log(`rester dans la collision ${coll gameobject name} `); } oncollisionenter2d(coll collision2d) { console log(`entrée de collision 2d ${coll gameobject name} `); } oncollisionexit2d(coll collision2d) { console log(`sortie de collision 2d ${coll gameobject name} `); } oncollisionstay2d(coll collision2d) { console log(`rester dans la collision 2d ${coll gameobject name} `); } ongui() { console log('interface graphique '); } onmousedown() { console log('clic de souris '); } onmousedrag() { console log('glisser avec la souris '); } onmouseup() { console log('relâcher la souris '); } onmouseenter() { console log('souris entre '); } onmouseexit() { console log('souris sort '); } onmouseover() { console log('souris sur '); } onmouseupasbutton() { console log('relâcher la souris comme bouton '); } onanimatorik(layerindex number) { console log(`onanimatorik ${layerindex} `); } onapplicationfocus() { console log('application en focus '); } onapplicationpause() { console log('application en pause '); } onapplicationquit() { console log('application quittée '); } } vérifiez l'écran de sortie du code de test ci dessous vous pouvez en savoir plus sur les fonctions d'événements unity que zepetoscript propose en cliquant sur les liens ci dessous 📘 ordre d'exécution des fonctions d'événements https //docs unity3d com/kr/current/manual/executionorder html https //docs unity3d com/kr/current/manual/executionorder html