我正在从一个主SWF加载/卸载几个swfs。当我加载一个新的swf时,我会做这样的事情:
contentContainer.addChild(the new swf); //add the new swf
contentContainer.swapChildrenAt(0,1);
contentContainer.removeChildAt(1); //remove the previous swf
我的问题是,当我删除ChildAt()时,旧的swf是否继续“播放”并继续占用cpu资源?我怎么能彻底杀死它?如果旧swf中有音频或视频,它甚至在删除后仍会继续播放。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可能想要尝试以下内容:
var mc:MovieClip = contentContainer.removeChildAt(1) as MovieClip;
mc.stop();
或者在卸载的swf中嵌入的电影上制作一些公共的stop()方法。 (ref)
你可能需要一些变化。
此外,如果你能够,你也可以让孩子swfs听取Event.ADDED_TO_STAGE
,Event.REMOVED_FROM_STAGE
事件。在这种意义上让他们控制自己可能更有意义,而不是依靠父容器来阻止他们。