CRÉEZ VOTRE MONDE
Scriptage
$ref & $unref
5 min
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 true left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type 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
