我成功地使用Loader::load()
将swfs加载到我的主swf中,然后将它们添加为Sprite的子项。当发生其他事件时,我想根据需要删除swfs。我看过unload()
和removeChildAt()
没有成功。卸载加载Loader :: load()的swfs
我只添加了addChild()
调用来试图锁定加载的实例,以便我可以删除它。装载工作正常没有addChild();
我也尝试发布到播放器v.10和使用myLoader.unloadAndStop()
;但这也没有效果;
以下演示代码显示我的问题。我看到一个孩子被添加,一个被删除,但intro.swf仍然在玩。
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();
// 编辑 - 也尝试:
myLoader.unloadAndStop();
myLoader = null;
有什么想法?
谢谢你的回答!我*认为*问题在于我将旧的AS2文件转换为AS3,而当我开始使用新文件并使用您的建议时问题已解决。谢谢! – jerrygarciuh 2010-01-25 22:11:15