AS3 question removeChild
-
12-09-2019 - |
Question
Je chargement des fichiers swf à 0 sur mon stade. Ils sont les pages de mon site.
Pour changer de page en page J'utilise removeChildAt (0), puis je addChildAt ( "page_title", 0).
Le problème est que removeChild DonT supprimer les fonctions du premier fichier swf chargé (avant déchargement).
Comment puis-je arrêter alors?
Dois-je utiliser un autre moyen de RemoveChild?
Thanx!
La solution
Il me semble que vous ne les suppriment pas réellement. Tout d'abord, enlever quelque chose de la liste d'affichage est seulement un changement visuel / interactif. Il est toujours en cours jusqu'à ce que vous supprimer toute référence à elle, être des écouteurs d'événements ou w / e, et vous devez le mettre à null de sorte que la collecte des ordures va récupérer sur le cycle suivant.
Si vous utilisez Flash Player 10, dépensier est exact que unloadAndStop fonctionnera pour vous car ils tout récemment créé pour résoudre votre problème même.
Je pensais juste que je devrais expliquer ce qui se passe, parce que les gens doivent savoir non seulement sur le correctif, mais pourquoi les choses se passent.
Une autre suggestion, je ne chargerait pas ces films à l'étape, je voudrais créer 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 par le biais leurs parents (imageContainer_mc
par exemple).
Autres conseils
En supposant que vous chargez avec un vous pouvez utiliser la méthode unloadAndStop.
Plus d'infos ici:
http://www.gskinner.com/blog/archives /2008/07/additional_info.html
Vous pouvez charger le submovie dans un autre ApplicationDomain pour isoler le code chargé de votre application principale. Jetez un oeil à la classe flash.system.ApplicationDomain
(c'est un paramètre à la méthode de Loader.load()
).