CRÉEZ VOTRE MONDE
Scriptage
$ref & $unref
5min
le ref et out mots clés en c# sont utilisés lors du passage de références à des variables ou des structures aux méthodes dans typescript, ces mots clés ne sont pas disponibles, mais dans zepetoscript, vous pouvez obtenir une fonctionnalité similaire en utilisant $ref et $unref fonctions description $ref(x?\ t) $ref crée une référence pour un paramètre $unref(x $ref)\ t libère la référence d'un paramètre et renvoie la valeur originale pour l'exemple, configurons une scène comme suit ajoutez un objet 3d, cube, à la scène dans l'inspecteur pour le cube ajouté, cliquez sur "ajouter un composant" et ajoutez un rigidbody ajoutez un gameobject vide à la scène écrivez le script refsample ci dessous et ajoutez le au gameobject créé à l'étape 3 import { gameobject, rigidbody } from 'unityengine' import { zepetoscriptbehaviour } from 'zepeto script' import testscript from ' /testscript'; export default class refsample extends zepetoscriptbehaviour { start() { // obtenez le gameobject nommé "cube" const testobject = gameobject find("cube"); // obtenez le composant rigidbody de l'objet "cube" const testcomponent = gameobject find("cube") getcomponent\<rigidbody>(); // obtenez le composant testscript de l'objet "cube" const testscript = gameobject find("cube") getcomponent\<testscript>(); // créez des références aux composants et à l'objet let tempobj = $ref(testobject); let tempcomponent = $ref(testcomponent); let tempscript = $ref(testscript); // vérifiez si le composant rigidbody n'est pas nul if(tempcomponent != null) { // accédez à la valeur réelle de cette référence let component = $unref(tempcomponent); console log(`nom du composant ${component}`); } // vérifiez si le composant testscript n'est pas nul if(tempscript != null) { // accédez à la valeur réelle de cette référence let script = $unref(tempscript); script dotest(); } // vérifiez si la référence gameobject n'est pas nulle if(tempobj != null) { // accédez à la valeur réelle de cette référence let objname = $unref(tempobj); console log(`nom de tempobj ${objname name}`); } } } créez un autre zepetoscript et écrivez le testscript ci dessous import { zepetoscriptbehaviour } from 'zepeto script' export default class testscript extends zepetoscriptbehaviour { dotest() { console log(`l'exécution de dotest() de testscript `); } } faites glisser et connectez testscript à l'inspecteur du cube cliquez sur le bouton \[▶︎(lecture)] pour observer les résultats vous pouvez vérifier le succès de la référence aux objets, aux composants rigidbody et aux composants zepetoscript dans la fenêtre de journalisation de la console