ActionScript 3 从其他MovieClip中引用主时间轴或文档类

示例

在DisplayObject作为显示树的后代附加的任何时间轴中,您可以利用该root属性。如果没有自定义文档类,则此属性指向主时间轴;如果您定义了文档类,则此属性指向文档类。

因为root是type DisplayObject,所以编译器将不允许您以以下方式访问在主时间轴或文档类中定义的自定义方法或属性:

root.myCustomProperty = 10;
root.myCustomMethod();

为了解决这个问题,root如果您有一个文档类,则可以将其转换为您的文档类:

(root as MyDocumentClass).myCustomMethod();

或MovieClip在没有文档类别的情况下:

(root as MovieClip).myCustomMethod();

究其原因铸造MovieClip的作品在这里是因为MovieClip是dynamic。这意味着编译器允许在其上声明运行时属性和方法,从而防止尝试访问未在上明确定义的属性或方法时发生编译时错误MovieClip。不利的一面是您失去了所有编译时类型的安全性。您最好声明一个文档类并强制转换为该类。