AS3 - 访问可能未定义的变量

时间:2013-01-24 17:14:35

标签: actionscript-3 flash oop class

我有一个叫做“角色”的课程。某些角色可以播放(可玩=真)。所有可播放的角色都有一个名为“follower”的子movieClip(不是用ActionScript创建的)。每当我尝试使用代码访问“关注者”时,我都会收到错误,因为“关注者”并非“必然”存在。这是因为有些角色没有“跟随者”。

但是,我使用'if(this.contains(follower)){..}'来确保它在继续之前确实存在,但我仍然得到错误,说'追随者'可能不存在。

为什么我收到错误? 我可以做些什么吗?我必须使用AS3来创建粉丝吗?

4 个答案:

答案 0 :(得分:0)

您可以像这样访问“关注者”:this["follower"] - 这样您就不会遇到编译时错误。

此外,您可以检查playable属性,而不是检查follower是否存在。

答案 1 :(得分:0)

您可以在Character类中声明一个公共follower变量(键入MovieClip)。 在不可播放的字符中,这将为null,并将设置为可播放字符中的子剪辑。

这仅在您关闭“自动声明舞台实例”时才有效。

答案 2 :(得分:0)

Character课程内:

if(this["follower"]) {
    // follower instance exists
}

答案 3 :(得分:0)

这是缺少一些信息,这是一个AS2 / AS3项目(基于你的问题)。如果是这样,问题是因为AS3无法访问AS2内容。

“我必须使用AS3来创建粉丝吗?” - 如果是AS3项目,请做。

如果您的项目都是AS2 / 3,请尝试使用LocalConnection来控制“跟随者”剪辑。如果我的假设不正确,请纠正我。