在动画片段中找到动画片段的当前帧标签?

时间:2012-11-22 20:45:30

标签: actionscript-3 movieclip

我正在制作游戏,我需要在动画片段中找到动画片段的当前帧。

这是应该发生的事情:

我有一个名为“kaas”的盒子(movieclip),里面有2个动画片段。 在舞台的启动时,它停留在frameLabel“heel”上。 当你碰撞(跳跃)到“kaas”时,它应该扮演frameLabel“kapot”,它就是这样。 如果frameLabel“kapot”的currentFrame是第52帧,它应该删除Child“kaas”,这就是问题所在,我不知道如何检测当前所在的framelabel“kapot”。

现在我尝试使用currentFrame和currentFrameLabel查看内容,但没有成功。

以下是截至目前的部分:

                if (player.hitTestObject(kaas)) {
                    yVel = 3;
                    player.x += xVel + 2;
                    kaas.gotoAndStop("kapot"); // als je het blokje raakt.
                    if (kaas.currentFrame == 52){ // this is the part where I try to check the current frame of "kapot".
                        removeChild(kaas);
                    }
                }

我得到的错误是我无法指向null的对象。 (错误#1009)。

现在我的问题是如何为此进行工作检查(如果声明)。

亲切的问候, 雷米

1 个答案:

答案 0 :(得分:1)

一些可能的情况:

  • 包含该对象的动画片段正在播放,更改为不再包含该对象的帧(因此该属性变为null

  • 此对象在一个帧中具有实例名称,但在另一个帧中没有,因此在第二帧播放时它变为null

  • 代码的其他部分明确将其设置为null

  • 您定位的是Flash Player 9,其中显示对象与您的gotoAndStop调用异步加载。这意味着初始化对象需要一段时间,在此之前你会遇到空值。解决方案是针对Flash Player 10或11(在发布设置中更改它[ Ctrl + Shift + F12 ])。如果您确实需要定位Flash Player 9,there are convoluted methods to ensure the attributes are accessible

(顺便说一句,你能翻译一下框架标签,评论和变量名吗?它会分散注意力,有时会隐藏有用的信息。)