启用以访问嵌套的动画片段

时间:2014-04-03 17:39:19

标签: actionscript-3 flash

if (goblin.hitTestPoint(character.aMode.lance.x, character.aMode.lance.x, true))
{
trace("goblin been hit, please minus one life");
}

这是代码,错误是: 1119: Access of possibly undefined property aMode through a reference with static type player.

这是我设置代码的方式

public static var character:player;
character = new player;
container.addChild(character);

字符被动态添加到容器中。在字符中有四个帧,第三个帧包含一个movieclip,它在实例名称中称为“aMode”。在影片剪辑中,还有另一个名为Lance的动画片段,实例名称为“lance”。

在As2中,我确信这会奏效。

我认为问题在于,因为aMode不在第一帧,所以character.aMode(应该在第一帧中)才能使它工作。

或者它可能没有添加到显示列表中,但是flash会自动将它添加到显示列表中,对吗?

抱歉,如果太多了。

这是一张视觉辅助图片。 enter image description here 你可以看到这个aMode movievlip位于角色movieclip中的一个不同的框架中(动态添加)

1 个答案:

答案 0 :(得分:1)

在As2中,我确信这样可行。 在AS2中,你可能会得到一个未定义的,它将被忽略。

如果您的剪辑(在这种情况下是播放器)在没有特定资产/属性的帧上停止,则会抛出该错误。这样就足够了:

if (character.aMode && goblin.hitTestPoint(character.aMode.lance.x, character.aMode.lance.x, true))...