ActionScript 3
Mit der Zeitleiste arbeiten
Suche…
Referenzieren der Hauptzeitleiste oder Dokumentklasse aus anderen MovieClips
In der Zeitleiste eines DisplayObject
, das als Nachkommen der Anzeigestruktur angehängt ist, können Sie die root
DisplayObject
verwenden. Diese Eigenschaft zeigt auf die Hauptzeitleiste, wenn keine benutzerdefinierte Dokumentklasse vorhanden ist, oder auf die Dokumentklasse, wenn Sie eine definieren.
Da für root
DisplayObject
eingegeben DisplayObject
, können Sie mit dem Compiler nicht auf benutzerdefinierte Methoden oder Eigenschaften zugreifen, die auf der Hauptzeitleiste oder innerhalb Ihrer Dokumentenklasse definiert sind:
root.myCustomProperty = 10;
root.myCustomMethod();
Um dies zu umgehen, können Sie root
in Ihre Dokumentklasse umwandeln, wenn Sie eine Dokumentklasse haben:
(root as MyDocumentClass).myCustomMethod();
Oder MovieClip
bei keiner Dokumentenklasse:
(root as MovieClip).myCustomMethod();
Der Grund, MovieClip
MovieClip
wird, ist, dass MovieClip
dynamic
. Dies bedeutet, dass der Compiler zulässt, dass Laufzeit-Eigenschaften und -Methoden für ihn deklariert werden. Dadurch werden Fehler beim Kompilieren MovieClip
, wenn versucht wird, auf Eigenschaften oder Methoden zuzugreifen, die nicht ausdrücklich in MovieClip
definiert MovieClip
. Der Nachteil ist, dass Sie die gesamte Typensicherheit für die Kompilierung verlieren. Es ist viel besser, eine Dokumentenklasse zu deklarieren und darauf zu reagieren.