Bonne journée!Qu'est-ce que 'this' dans les gestionnaires d'événements anonymes dans AS3
J'ai remarqué que dans le gestionnaire d'événements anonymes this
est référencé à global
, pas ma classe. Je sais que je peux utiliser des variables référencées externes (parce qu'il crée des fermetures), mais comment obtenir le bon contexte?
Exemple simple:
_movieClipClassVariable = new MyCustomSpriteSubclass();
_movieClipClassVariable.addEventListener(MouseEvent.CLICK, function(event:Event):void {
trace(this); //gives 'global'
});
Qu'en est-utilisation de la mémoire et des objets de collecte des ordures avec des gestionnaires anonymes? Est-ce que déclarer les gestionnaires comme méthode de classe est préférable?
Pour autant que je sais que ce n'est pas impossible d'enlever les écouteurs d'événements anonymes (sans hacks méchant). Donc, il semble supprimer les auditeurs que je dois déclarer comme méthode de classe. – artvolk