as3 - 如何从基类定义实例子?

时间:2016-01-07 14:37:31

标签: actionscript-3

我有一个movieclip父级,里面有movieclip实例。但是movieclip父扩展了一个基类,我想通过使用实例名称和从基类定义来定义其中一个子类。

例如,如果在movieclip父级中有一个实例名称为“player”的子级。

来自movieclip父类,您只需将其定义为

player
//or
this.player

但是从基类来看,这种方法不起作用。我如何从基类定义它?

1 个答案:

答案 0 :(得分:0)

您可以在基类中定义player,但必须禁用"自动声明舞台实例"在您的AS3设置中。当您选中该选项时,编译器会盲目地尝试将所有命名实例添加为链接类的属性。如果将其关闭,则可以控制实际定义这些属性的位置。出于这个原因,我总是关闭此功能。

示例:

class Base extends MovieClip {
    public var player:MovieClip;
}

class SymbolClass extends Base {
    // linked to a symbol that contains a 'player' instance
}

如果您有"自动声明舞台实例"选中后,您无法执行此操作,因为SymbolClass会尝试自动声明player,并且会与Base player声明冲突。

另请注意,如果您的符号包含player个实例,则代码仍然有效,但player将为null