Användarhandbok Avbryt

Tidslinjer och ActionScript

 

Med ActionScript® kan du styra tidslinjen under körning. Med ActionScript kan du skapa interaktion och annan funktionalitet i FLA-filerna som du inte kan generera enbart med tidslinjen.

Med ActionScript® kan du styra tidslinjen under körning. Med ActionScript kan du skapa interaktion och annan funktionalitet i FLA-filerna som du inte kan generera enbart med tidslinjen.

Information om hur du styr tidslinjen med ActionScript finns i avsnittet om tidslinjer och ActionScript i webbhjälpen.

Absoluta sökvägar

En absolut sökväg börjar med namnet på den nivå som dokumentet läses in på och fortsätter via visningslistan tills den når målinstansen. Du kan även använda aliaset _root för att hänvisa till den översta tidslinjen för den aktuella nivån. En åtgärd i filmklippet california som hänvisar till filmklippet oregon kan till exempel använda den absoluta sökvägen _root.westCoast.oregon.

Det första dokumentet som öppnas i Flash Player läses in på nivå 0. Du måste tilldela varje ytterligare inläst dokument ett nivånummer. Om du använder en absolut referens i ActionScript när du hänvisar till ett inläst dokument använder du formuläret _levelX, där X är nivånumret till vilket dokumentet läses in. Det första dokumentet som öppnas i Flash Player kallas till exempel _level0 och ett dokument som lästs in på nivå 3 kallas _level3.

Om du vill kommunicera mellan dokument på olika nivåer måste du använda nivånamnet i målsökvägen. I följande exempel visas hur portland-instansen skulle adressera atlanta-instansen i ett filmklipp med namnet georgia (georgia är på samma nivå som oregon):

_level5.georgia.atlanta
_level5.georgia.atlanta
_level5.georgia.atlanta

Du kan använda aliaset _root för att hänvisa till huvudtidslinjen för den aktuella nivån. I huvudtidslinjen står _root-alias för _level0 om det används av ett filmklippsmål som även finns på _level0. I ett dokument som lästs in på _level5, är _root lika med _level5 om det används av ett filmklippsmål som även finns på nivå 5. Om till exempel filmklippen southcarolina och florida båda läses in på samma nivå, kan en åtgärd som anropas från instansen southcarolina använda följande absoluta sökväg för att ange målinstansen florida:

_root.eastCoast.florida
_root.eastCoast.florida
_root.eastCoast.florida

Relativa sökvägar

En relativ sökväg beror på relationen mellan den styrande tidslinjen och måltidslinjen. Relativa sökvägar kan bara adressera mål inom sina egna nivåer av Flash Player. Du kan till exempel inte använda en relativ sökväg i en åtgärd på _level0 som anger en måltidslinje på _level5.

Använd nyckelordet this i en relativ sökväg för att hänvisa till den aktuella tidslinjen på den aktuella nivån. Använd aliaset _parent för att ange den överordnade tidslinjen för den aktuella tidslinjen. Du kan använda aliaset _parent flera gånger om du vill gå upp en nivå i filmklippshierarkin på samma Flash Player-nivå. Till exempel _parent._parent flyttar upp ett filmklipp två nivåer i hierarkin. Den översta tidslinjen på alla nivåer i Flash Player är den enda tidslinjen med ett _parent-värde som inte har definierats.

En åtgärd i tidslinjen för instansen charleston, som ligger på en nivå under southcarolina, kan använda följande målsökväg för att ange målinstansen southcarolina:

_parent
_parent
_parent

Om du vill ange målinstansen eastCoast (en nivå upp) från en åtgärd i charleston kan du använda följande relativa sökväg:

_parent._parent
_parent._parent
_parent._parent

Om du vill ange målinstansen atlanta från en åtgärd i tidslinjen charleston kan du använda följande relativa sökväg:

_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta

Relativa sökvägar är användbara vid skriptåteranvändning. Du kan till exempel bifoga följande skript till ett filmklipp som förstorar dess överordnade med 150 %:

onClipEvent (load) { _parent._xscale
= 150; _parent._yscale = 150;
}
onClipEvent (load) { _parent._xscale = 150; _parent._yscale = 150; }
onClipEvent (load) {    _parent._xscale 
= 150;    _parent._yscale = 150; 
}

Du kan återanvända det här skriptet genom att bifoga det till vilken filmklippsinstans som helst.

 Flash Lite 1.0 och 1.1 har bara stöd för bifogade skript till knappar. Bifogade skript till filmklipp stöds inte.

Oavsett om du använder en absolut eller relativ sökväg identifierar du en variabel i en tidslinje eller en egenskap för ett objekt med en punkt (.) följt av namnet på variabeln eller egenskapen. I följande sats anges till exempel variabeln name i instansen form till värdet "Gilbert":

_root.form.name = "Gilbert";
_root.form.name = "Gilbert";
_root.form.name = "Gilbert";

Använda absoluta och relativa målsökvägar

Du kan använda ActionScript för att skicka meddelanden från en tidslinje till en annan. Tidslinjen som innehåller åtgärden kallas styrande tidslinje och tidslinjen som tar emot åtgärden kallas måltidslinje. En åtgärd på den sista bildrutan på en tidslinje talar till exempel om för en annan tidslinje att bildrutan ska spelas upp. Om du vill hänvisa till en måltidslinje måste du använda en målsökväg som anger platsen för ett filmklipp i visningslistan.

I följande exempel visas hierarkin för ett dokument med namnet westCoast på nivå 0 som innehåller tre filmklipp: california, oregon och washington. Varje filmklipp innehåller i sin tur två filmklipp.

_level0
westCoast
california
sanfrancisco
bakersfield
oregon
portland
ashland
washington
olympia
ellensburg
_level0 westCoast california sanfrancisco bakersfield oregon portland ashland washington olympia ellensburg
_level0 
        westCoast 
                california 
                        sanfrancisco 
                        bakersfield 
                oregon 
                        portland 
                        ashland 
                washington 
                        olympia 
                        ellensburg

Precis som på en webbserver kan varje tidslinje i Animate adresseras på två sätt: med en absolut sökväg eller med en relativ sökväg. Den absoluta sökvägen för en instans är alltid en fullständig sökväg från ett nivånamn, oavsett vilken tidslinje som anropar åtgärden. Den absoluta sökvägen till instansen california är till exempel _level0.westCoast.california. En relativ sökväg är inte densamma när den anropas från olika platser. Den relativa sökvägen till california från sanfrancisco är till exempel _parent, men från portland är den _parent._parent.california.

Ange målsökvägar

För att styra ett filmklipp, en inläst SWF-fil eller en knapp, måste du ange en målsökväg. Du kan ange den manuellt, i dialogrutan Infoga målsökväg eller genom att skapa ett uttryck som anger en målsökväg. För att ange en målsökväg för ett filmklipp eller knapp måste du ge filmklippet eller knappen ett instansnamn. Det krävs inget instansnamn för ett inläst dokument eftersom du använder dess nivånummer som ett instansnamn (till exempel _level5).

Tilldela ett instansnamn till ett filmklipp eller en knapp

  1. Markera ett filmklipp eller en knapp på scenen.
  2. Ange ett instansnamn i egenskapsinspektören.

Ange en målsökväg med dialogrutan Infoga målsökväg

  1. Markera filmklipps-, bildrute- eller knappinstansen till vilken du vill tilldela åtgärden.

    Det blir den styrande tidslinjen.

  2. Gå till verktygslådan Åtgärder till vänster på åtgärdspanelen (Fönster > Åtgärder) och markera en åtgärd eller metod som kräver en målsökväg.
  3. Klicka i parameterrutan eller på den plats i skriptet där du vill infoga målsökvägen.
  4. Klicka på knappen Infoga målsökväg  ovanför skriptrutan.
  5. Välj Absolut eller Relativ för målsökvägsläget.
  6. Välj ett filmklipp i visningslistan Infoga målsökväg och klicka på OK.

Ange en målsökväg manuellt

  1. Markera filmklipps-, bildrute- eller knappinstansen till vilken du vill tilldela åtgärden.

    Det blir den styrande tidslinjen.

  2. Gå till verktygslådan Åtgärder till vänster på åtgärdspanelen (Fönster > Åtgärder) och markera en åtgärd eller metod som kräver en målsökväg.
  3. Klicka i parameterrutan eller på den plats i skriptet där du vill infoga målsökvägen.
  4. Ange en absolut eller relativ målsökväg på åtgärdspanelen.

Använda ett uttryck som en målsökväg

  1. Markera filmklipps-, bildrute- eller knappinstansen till vilken du vill tilldela åtgärden.

    Det blir den styrande tidslinjen.

  2. Gå till verktygslådan Åtgärder till vänster på åtgärdspanelen (Fönster > Åtgärder) och markera en åtgärd eller metod som kräver en målsökväg.
  3. Gör något av följande:
    • Ange ett uttryck som anger en målsökväg i en parameterruta.

    • Klicka för att placera insättningspunkten i skriptet. Dubbelklicka sedan på funktionen targetPath i kategorin för funktioner i verktygslådan Åtgärder. Funktionen targetPath konverterar en referens till ett filmklipp till en sträng.

    • Klicka för att placera insättningspunkten i skriptet. Markera sedan på funktionen eval i kategorin för funktioner i verktygslådan Åtgärder. Funktionen eval konverterar en sträng till en filmklippsreferens som kan användas för att anropa metoder som play.

      I följande skript tilldelas värdet 1 variabeln i: Sedan används funktionen eval för att skapa en referens till en filmklippsinstans och den tilldelas variabeln x. Variabeln x är nu en referens till en filmklippsinstans och kan anropa objektmetoderna MovieClip.

      i = 1; x = eval("mc"+i); x.play(); // är lika med mc1.play();

      Du kan även använda funktionen eval för att anropa metoder direkt enligt följande exempel:

      eval("mc" + i).play();

Få hjälp snabbare och enklare

Ny användare?