ActionScript 3
Arbeta med tidslinjen
Sök…
Referera till huvudtidslinjen eller dokumentklassen från andra MovieClips
I tidslinjen för alla DisplayObject
som är bifogade som en ättling till visningsträdet kan du använda root
. Den här egenskapen pekar på huvudtidslinjen för ingen anpassad dokumentklass eller dokumentklassen om du definierar en.
Eftersom root
är skrivet DisplayObject
tillåter kompilatorn inte dig åtkomst till anpassade metoder eller egenskaper definierade på huvudtidslinjen eller inom din dokumentklass som:
root.myCustomProperty = 10;
root.myCustomMethod();
För att komma runt detta kan du skriva root
till din dokumentklass om du har en dokumentklass:
(root as MyDocumentClass).myCustomMethod();
Eller MovieClip
om det inte finns någon dokumentklass:
(root as MovieClip).myCustomMethod();
Anledningen till att casting till MovieClip
fungerar här är för att MovieClip
är dynamic
. Detta innebär att kompilatorn tillåter att runtime-egenskaper och -metod deklareras på den, vilket förhindrar kompileringstidsfel när man försöker komma åt egenskaper eller metoder som inte uttryckligen definieras på MovieClip
. Nackdelen med detta är att du tappar all säkerhet i kompileringstiden. Du är mycket bättre på att förklara en dokumentklass och kasta till det.