移动到第2帧时,MovieClip的子项将变为null

时间:2012-08-13 07:28:19

标签: actionscript-3 flash-cs5 preloader

我在单帧上制作了一个游戏,现在我已将其移至第2帧,以便在第1帧上添加预加载器。

然而,我遇到了一个奇怪的问题:所有顶级MovieClip仍然被初始化,但他们的孩子似乎没有被初始化。

例如,我有这个对象winDialog,里面有一个叫做nextLevelButtonInst的子节点。所以我有一句话:

winDialog.nextLevelButtonInst.addEventListener(MouseEvent.CLICK, GotoNextLevel);

当游戏只有一帧时,这样可以正常工作,但是第二帧不能正常工作。

当我查看调试变量时,winDialog会记录正常,并且它有一个子nextLevelButonInst,但是它被设置为null。几乎所有的动画片都是一样的。

为什么要移到第二帧导致这个?如果winDialog为null则有意义,因为它可能无法在第一帧找到它。但我不知道为什么只有孩子才会为空。

这会导致各种问题,无法找到声音等等。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您使用的是主要课程吗?或者只是在你的第一帧内有代码,无论如何这段代码都不会知道你在第二帧上存在的东西,直到你在第二帧。

所以在你进入第二帧之后添加监听器,一切都应该没问题。