Comment accéder à la scène à partir d'une classe AS3 dans Adobe Flash
Le problème que j'ai rencontré est que je suis à l'aide d'un keyboardEventListener de faire un movieclip courir autour de vous. Comme je suis un étudiant de collège, je suis la création de ce pour une mission, mais nous sommes obligés d'utiliser des classes as3.
Lorsque j'exécute le code dans le maintimeline, il n'y a pas de problème. Mais lorsque j'essaie d'accéder à partir d'une autre classe (avec un "Exporter pour ActionScript" sur le clip en question), j'obtiens une erreur qu'il ne peut pas l'adresse de la scène.
.étape.la méthode addEventListener(KeyboardEvent.KEY_DOWN, dostuff);
OriginalL'auteur Graphithy | 2010-04-21
Vous devez vous connecter pour publier un commentaire.
Une classe en AS3 n'est pas sur la scène jusqu'à ce que vous avez fait placer là. En conséquence, "cette.stage" sera nulle au moment de la compilation. Vous pouvez contourner ce problème en utilisant le ADDED_TO_STAGE cas de retard de liaison de vos auditeurs jusqu'à ce que le moment est venu.
si vous avez une autre question à poser une nouvelle question sur stackoverflow au lieu de demander dans un commentaire.
OriginalL'auteur Greg W
"1120: Accès de la propriété non définie Clavier.
Il n'y est une réponse. Vous n'avez pas défini les propriétés du clavier. Ce qui signifie que vous n'avez pas importé de l'emballage.
devrait ressembler à quelque chose comme ceci:
Conseils:
avoir un regard plus profond dans l'importation.
essayez d'utiliser flash builder, de son mieux pour les débutants et pour l'importation automatique des classes ainsi u n'avez pas besoin de mémoriser tout.
OriginalL'auteur Eddy Ferreira
cette réponse m'a aidé des millions de fois, mais je n'ai pas encore assez de points pour pop up, ou je le ferais.
Ce qui se passe de façon générique quand vous essayez d'accéder à quoi que ce soit sur la scène avant qu'il est ajouté à la scène. J'ai été, pendant un certain temps, à l'aide d'un init() dans le constructeur de tous mes projets principaux des classes, mais à cause de ce problème, je ne fais plus. Maintenant, au lieu de cela je l'ai remplacé par ce (où le Principal est le constructeur de la classe/nom):
J'espère que cela aide quelqu'un d'autre qui a lu aucun des livres que j'ai fait sur flash, qui offrent l'init() idée.
Et..merci Greg W.
OriginalL'auteur nycynik
Lorsque vous créez la classe vous devez vous référer à l'étape de à l'intérieur de votre classe coz ses pas accessible dans le monde entier que vous avez à passer dans la classe , et ici est un exemple pour la phase d'utilisation de l'écouteur d'événement à l'intérieur d'une classe.
enregistrer le fichier en tant que Eventhndl.au fur et maintenant vous pouvez simplement ajouter une instance de cette classe et de passer quel que soit l'objet que vous avez besoin d'écouter son événement, voici comment faire.
OriginalL'auteur Aylian Craspa