Eh bien, il n'y a plus _global comme il y avait dans AS2 - et puisque vous ne voulez pas utiliser les classes que vous ne pouvez pas utiliser des variables statiques (je peux expliquer ces si vous êtes intéressé). Il vous reste donc à utiliser des variables sur la racine. Par exemple, vous pouvez définir une variable sur la timeline principale comme ceci:
var myGlobal:Number = 100;
Si vous voulez y accéder ailleurs ... qui est, sur la timeline d'autres movieClips vous devez dire:
MovieClip(root).myGlobal;
Ce qui si vous n'avez jamais vu auparavant semble probablement absurde. Fondamentalement, nous jetons la racine à un MovieClip pour nous donner accès à ses propriétés dynamiques. Heureusement, vous pouvez le configurer de sorte que vous ne devez pas continuer à écrire MovieClip (root) tout le temps:
// do this on any movieClip where you want to access globals
var global:MovieClip = MovieClip(root);
trace(global.myGlobal);
Donc à la fin de sa seule ligne de code supplémentaire pour obtenir la fonctionnalité à la façon c'était dans AS2.
Modifier
- aller à la timeline principale et ajouter ceci à vos actions: var myGlobal: Number = 100;
- faire une nouvelle movieClip assurez-vous que son sur la scène
aller dans le nouveau movieClip et ajouter ceci à vos actions:
var global: MovieClip = MovieClip (root); trace (global.myGlobal);
Testez votre film
comme dit le vieil adage: "la connaissance est le pouvoir". – TheDarkIn1978
Ils disent aussi "l'ignorance est la félicité". La vérité est probablement quelque part au milieu. Aussi, puisque je pose une question sur Stackoverflow au lieu de lire un livre de référence, cela signifie probablement que j'ai besoin d'une solution rapide maintenant plutôt que d'une compréhension globale du sujet dans deux semaines. –