2009-09-21 9 views
1

Je charge des fichiers swf à 0 sur ma scène. Ce sont les pages de mon site.as3 removeChild issue

Pour passer d'une page à l'autre, j'utilise removeChildAt (0), puis addChildAt ("page_title", 0).

Le problème est que removeChild ne supprime pas les fonctions du premier fichier swf chargé (avant déchargé).

Comment puis-je arrêter alors?

Dois-je utiliser un autre moyen pour removeChild?

Merci!

Répondre

1

Il me semble que vous ne les suppriment pas réellement. Tout d'abord, supprimer quelque chose de la liste d'affichage n'est qu'un changement visuel/interactif. Il est toujours en cours d'exécution jusqu'à ce que vous supprimiez toutes les références, en tant qu'écouteurs d'événements ou w/e, et vous devez ensuite le définir sur null pour que la récupération de place le récupère au prochain cycle.

Si vous utilisez Flash Player 10, spender a raison de dire que unloadAndStop fonctionnera pour vous car il vient de le créer pour résoudre votre problème. Je pensais juste que je devrais expliquer ce qui se passe, parce que les gens devraient non seulement savoir sur le correctif, mais pourquoi les choses se produisent.

Une autre suggestion, je ne voudrais pas charger ces films à l'étape, je créerais un conteneur Sprite/MovieClip pour les tenir, de cette façon même si vous ajoutez d'autres choses plus tard, ils sont séparés, propre et facile d'accès à travers leur parent (imageContainer_mc par exemple).

0

Vous pouvez également charger le sous-film dans un domaine ApplicationDomain différent afin d'isoler le code chargé de votre application principale. Jetez un oeil à la classe flash.system.ApplicationDomain (c'est un paramètre de la méthode Loader.load()).