如何使removeChild()像unloadAndStop()一样工作?

时间:2016-11-27 03:08:18

标签: actionscript-3 flash actionscript air

我正在使用Flash和Air for iOS构建一个“交互式书籍”,并且拥有非常小的AS3体验......

我曾计划将“页面”作为外部SWF加载,然后使用unloadAndStop将它们驱逐出去 - 这样每次用户“翻页”加载SWF并且这些页面中嵌套的迷你游戏都会“新鲜”首次。好吧 - 显然重新加载的SWF对AIR和iOS来说是不行的。

我想我只剩下用内部MC替换那些外部SWFS并使用AddChild / RemoveChild - 但这并没有重置变量,所以迷你游戏玩得很新,我有点太绿了不知道更好的解决

有没有什么方法可以加强RemoveChild,所以每当我把它放到舞台上时,MC都会加载“新鲜”?

1 个答案:

答案 0 :(得分:0)

如果您按时间线添加了影片剪辑,只需从属性面板重命名其实例名称,然后在该帧中创建新的MovieClip实例。

如果你想通过AS3添加它,你必须先为它设置一个链接,一个以字母开头的类名(推荐大写字母)

enter image description here

然后:

var mc:MovieClip = new Game1();
addChild(mc);

删除后,再次使用刷新属性添加(如您所说) 你必须这样做:

mc = new Game1(); // make a new instance of Game1
addChild(mc);

修改

注意:为了保存性能,在调用removeChild冻结你的movieclip并通过删除其eventListeners使其准备好进行操作时,不要吓唬:d 看看this& this(我只是通过快速搜索找到这些参考,但我现在他们很有帮助)