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.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow