J'utilise Loader::load()
avec succès pour charger swfs dans mon swf principal et puis je les ajoute comme un enfant d'un Sprite. Lorsque d'autres événements se produisent, je souhaite supprimer les swfs au besoin. J'ai regardé unload()
et au removeChildAt()
sans succès.Déchargement swfs chargé avec Loader :: load()
J'ai seulement ajouté l'appel addChild()
pour essayer de bloquer l'instance chargée afin que je puisse l'enlever. J'ai également essayé de publier sur le lecteur v.10 et d'utiliser myLoader.unloadAndStop()
; mais cela n'a aucun effet non plus;
Le code de démonstration suivant montre mon problème. Je vois un enfant ajouté et un enlevé mais intro.swf joue encore.
import flash.display.Loader;
import flash.display.Sprite;
import flash.display.LoaderInfo;
import flash.net.URLRequest;
var myLoader:Loader = new Loader();
var holderMC:Sprite = new Sprite();
var myRequest:URLRequest = new URLRequest('intro.swf');
myLoader.load(myRequest);
holderMC.addChild(myLoader);
trace("initial:"+holderMC.numChildren); // traces initial:1
while(holderMC.numChildren > 0) {
holderMC.removeChildAt(0);
trace("now there are:"+holderMC.numChildren); // traces now there are :0
}
myLoader.unload();
// Modifier - aussi essayé:
myLoader.unloadAndStop();
myLoader = null;
Toute pensée?
Merci pour votre réponse! Je * pense * que le problème résidait dans le fait que je convertissais un ancien fichier AS2 en AS3 et quand j'ai commencé avec un nouveau fichier et que j'ai utilisé votre conseil, le problème a été résolu. Merci! – jerrygarciuh