In the timeline of any
DisplayObject that is attached as a descendant of the display tree, you can utilise the
root property. This property points to the main timeline in the case of no custom document class, or the document class if you do define one.
root is typed
DisplayObject, the compiler will not allow you to access custom methods or properties defined on the main timeline or within your document class as:
root.myCustomProperty = 10; root.myCustomMethod();
To get around this, you can typecast
root to your document class in the case where you have a document class:
(root as MyDocumentClass).myCustomMethod();
MovieClip in the case of no document class:
(root as MovieClip).myCustomMethod();
The reason casting to
MovieClip works here is because
dynamic. This means that the compiler allows runtime properties and method to be declared on it, preventing compile-time errors when attempting to access properties or methods that are not explicitly defined on
MovieClip. The downside to this is that you lose all compile-time type safety. You are much better off declaring a document class and casting to that.