我正在制作游戏,我需要在动画片段中找到动画片段的当前帧。
这是应该发生的事情:
我有一个名为“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)。
现在我的问题是如何为此进行工作检查(如果声明)。
亲切的问候, 雷米
答案 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
(顺便说一句,你能翻译一下框架标签,评论和变量名吗?它会分散注意力,有时会隐藏有用的信息。)