AS3 Removechild Problem
-
12-09-2019 - |
Frage
Ich lade einige SWF -Dateien auf meiner Bühne auf 0. Sie sind die Seiten meiner Website.
Um von Seite zu Seite zu wechseln, verwende ich RemoveChildat (0) und dann addChildat ("page_title", 0).
Das Problem ist, dass Removechild die Funktionen nicht aus der ersten SWF -Datei geladen (bevor sie entladen) geladen wurde.
Wie kann ich dann aufhören?
Muss ich andere Möglichkeiten zum Removechild verwenden?
Danke!
Lösung
Es klingt für mich so, als würden Sie sie nicht wirklich entfernen. Das Wichtigste zuerst ist es nur eine visuelle/interaktive Veränderung, etwas aus der Anzeigeliste zu entfernen. Es läuft immer noch, bis Sie Referenzen darauf entfernen, Ereignishörer oder W/E sind, und dann müssen Sie es auf Null setzen, damit die Müllsammlung es im nächsten Zyklus greift.
Wenn Sie Flash Player 10 verwenden, ist Spender richtig, dass UnloadandStop für Sie funktioniert, da er erst kürzlich erstellt hat, um Ihr Problem zu beheben.
Ich dachte nur, ich sollte erklären, was los ist, weil die Leute nicht nur über die Lösung wissen sollten, sondern warum Dinge passieren.
Ein weiterer Vorschlag, ich würde diese Filme nicht auf die Bühne laden, ich würde einen Container erstellen Sprite
/MovieClip
Um sie zu halten, auch wenn Sie später andere Dinge hinzufügen, sind sie getrennt, sauber und leicht zugänglich über ihre Eltern (imageContainer_mc
zum Beispiel).
Andere Tipps
Vorausgesetzt, Sie laden mit einem Lader Sie können die Entlade -Stop -Methode verwenden.
Weitere Informationen hier:
http://www.gskinner.com/blog/archives/2008/07/additional_info.html
Alternativ können Sie den Submovie in eine andere Anwendungsdomäne laden, um den geladenen Code aus Ihrer Haupt -App zu isolieren. Schauen Sie sich das an die flash.system.ApplicationDomain
Klasse (es ist ein Parameter für die Loader.load()
Methode).