Příručka uživatele Zrušit

Časové osy a ActionScript

 

Skript jazyka ActionScript® umožňuje ovládat časovou osu za běhu. S použitím skriptu jazyka ActionScript můžete ve svých souborech FLA vytvářet interakci a další možnosti, které nejsou pouze se samotnou časovou osou možné.

Skript jazyka ActionScript® umožňuje ovládat časovou osu za běhu. S použitím skriptu jazyka ActionScript můžete ve svých souborech FLA vytvářet interakci a další možnosti, které nejsou pouze se samotnou časovou osou možné.

Chcete-li se naučit, jak ovládat časovou osu pomocí skriptu jazyka ActionScript, přečtěte si diskuzi o časových osách a skriptu jazyka ActionScript ve webové nápovědě.

Absolutní cesty

Absolutní cesta začíná názvem úrovně, do které je dokument načten, a pokračuje seznamem zobrazení až po cílovou instanci. Můžete použít zástupce _root, který odkazuje na nejvrchnější časovou osu aktuální úrovně. Například akce ve filmovém klipu california, která odkazuje na filmový klip oregon by mohla použít absolutní cestu _root.westCoast.oregon.

První dokument otevřený v přehrávači Flash Player se načte do úrovně 0. Každému dalšímu načtenému dokumentu musíte přidělit číslo úrovně. Když v jazyce ActionScript použijete absolutní odkazování na načtený dokument, mělo by mít formu _levelX, kde X je číslo úrovně, do které je dokument načtený. Například první dokument otevřený v přehrávači Flash Player se jmenuje _level0 a dokument načtený do třetí úrovně se jmenuje _level3.

Aby mezi sebou mohly komunikovat dokumenty na různých úrovních, musíte v cílové cestě použít název úrovně. Následující příklad ukazuje, jak by instance portland adresovala instanci atlanta umístěnou ve filmovém klipu s názvem georgia (georgia je na stejné úrovni jako oregon):

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

Můžete použít zástupce _root, který odkazuje na hlavní časovou osu aktuální úrovně. Pro hlavní časovou osu zástupce _root zastupuje _level0, když na ni míří odkaz filmového klipu, který je také na úrovni _level0. Pro dokument načtený do úrovně _level5 je zástupce _root totéž jako _level5, když na něj míří odkaz filmového klipu, který je také na úrovni 5. Pokud například načtete filmové klipy southcarolina a florida oba na stejnou úroveň, akce vyvolaná z instance southcarolina by mohla použít následující absolutní cestu k odkazu na instanci florida:

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

Relativní cesty

Relativní cesta závisí na vztahu mezi řídicí časovou osou a cílovou časovou osou. Relativní cesty mohou adresovat cíle jen v rámci své vlastní úrovně v přehrávači Flash Player. Nemůžete například použít relativní cestu v akci na úrovni _level0, která míří na časovou osu na úrovni _level5.

V relativní cestě použijte klíčové slovo this k odkazu na aktuální časovou osu v aktuální úrovni; zástupce _parent použijte k označení nadřízené časové osy aktuální časové osy. Zástupce _parent můžete použít opakovaně k přechodu o jednu úroveň výš v hierarchii filmových klipů v rámci téže úrovně přehrávače Flash Player. Například _parent._parent řídí filmový klip v hierarchii o dvě úrovně výš. Nejvrchnější časová osa na libovolné úrovni v přehrávači Flash Player je jedinou časovou osou s hodnotou _parent, která je nedefinovaná.

Akce v časové ose instance charleston, umístěné o jednu úroveň níž než southcarolina, by mohla k odkazování na instanci southcarolina použít následující cílovou cestu:

_parent
_parent
_parent

K odkazu na instanci eastCoast (o jednu úroveň výš) z akce v charleston můžete použít následující relativní cestu:

_parent._parent
_parent._parent
_parent._parent

K odkazu na instanci atlanta z akce v časové ose instance charleston můžete použít následující relativní cestu:

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

Relativní cesty jsou užitečné pro opakované používání skriptů. K filmovému klipu například můžete připojit následující skript, který zvětší nadřízenou položku o 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; 
}

Tento skript lze opakovaně použít tak, že ho připojíte k libovolné instanci klipu.

 Flash Lite 1.0 a 1.1 podporují připojování skriptů pouze k tlačítkům. Připojování skriptů k filmovým klipům není podporováno.

Ať už použijete absolutní nebo relativní cestu, označujete proměnnou v časové ose nebo vlastnost objektu tečkou (.), za kterou následuje název proměnné nebo vlastnosti. Například následující příkaz nastavuje proměnnou name v instanci form na hodnotu "Gilbert":

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

Používání absolutních a relativních cílových cest

Pomocí ActionScriptu lze zasílat zprávy z jedné časové osy do jiné časové osy. Časové ose obsahující akci se říká řídicí časová osa a časové ose, která akci přijímá, se říká cílová časová osa. Například v posledním snímku jedné časové osy by mohla být akce, která říká jiné časové ose, aby se spustila. Pokud chcete vytvořit odkaz na cílovou časovou osu, musíte použít cílovou cestu, která udává umístění filmového klipu v seznamu zobrazení.

Následující příklad ukazuje hierarchii dokumentu s názvem westCoast na úrovni 0, která obsahuje tři filmové klipy: california, oregon a washington. Každý z těchto filmových klipů obsahuje dva další filmové klipy.

_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

Stejně jako na webovém serveru i v aplikaci Animate je možné k adresování každé časové osy použít dva způsoby: absolutní cestu nebo relativní cestu. Absolutní cesta instance je vždy úplnou cestou od názvu úrovně bez ohledu na to, která časová osa akci vyvolá; například absolutní cesta k instanci california je _level0.westCoast.california. Relativní cesta se liší při vyvolání z různých míst; například relativní cesta k instancicalifornia z instance sanfrancisco je _parent, ale z instance portland to je _parent._parent.california.

Určování cílových cest

Pokud chcete řídit filmový klip, načtený soubor SWF nebo tlačítko, musíte zadat cílovou cestu. Můžete ji zadat ručně v dialogovém okně Vložit cílovou cestu nebo vytvořit výraz, který vyhodnotí cílovou cestu. Pokud chcete zadat cílovou cestu pro filmový klip nebo tlačítko, musíte klipu nebo tlačítku přiřadit název instance. Načtený dokument nevyžaduje název instance, protože jako název instance používáte jeho číslo úrovně (například _level5).

Přiřazení názvu instance k filmovému klipu nebo tlačítku

  1. Ve vymezené ploše vyberte filmový klip nebo tlačítko.
  2. V inspektoru vlastností zadejte název instance.

Určení cílové cesty s použitím dialogového okna Vložit cílovou cestu

  1. Vyberte instanci filmového klipu, snímku nebo tlačítka, ke kterému chcete přiřadit akci.

    Ta se stane řídicí časovou osou.

  2. V panelu Akce (Okno > Akce) přejděte vlevo do panelu nástrojů Akce a vyberte akci nebo metodu, která vyžaduje cílovou cestu.
  3. Klikněte na pole parametru nebo místo ve skriptu, kam chcete vložit cílovou cestu.
  4. Klikněte na tlačítko Vložit cílovou cestu  nad oknem Skript.
  5. Jako režim cílové cesty vyberte Absolutní nebo Relativní.
  6. Ze seznamu zobrazení Vložit cílovou cestu vyberte filmový klip a klikněte na OK.

Zadání cílové cesty ručně

  1. Vyberte instanci filmového klipu, snímku nebo tlačítka, ke kterému chcete přiřadit akci.

    Ta se stane řídicí časovou osou.

  2. V panelu Akce (Okno > Akce) přejděte vlevo do panelu nástrojů Akce a vyberte akci nebo metodu, která vyžaduje cílovou cestu.
  3. Klikněte na pole parametru nebo místo ve skriptu, kam chcete vložit cílovou cestu.
  4. V panelu Akce zadejte absolutní nebo relativní cílovou cestu.

Použití výrazu jako cílové cesty

  1. Vyberte instanci filmového klipu, snímku nebo tlačítka, ke kterému chcete přiřadit akci.

    Ta se stane řídicí časovou osou.

  2. V panelu Akce (Okno > Akce) přejděte vlevo do panelu nástrojů Akce a vyberte akci nebo metodu, která vyžaduje cílovou cestu.
  3. Proveďte jeden z následujících úkonů:
    • V poli parametru zadejte výraz, který se vyhodnotí na cílovou cestu.

    • Kliknutím vložte do skriptu textový kurzor. Pak v kategorii Funkce v panelu nástrojů Akce poklikejte na funkci targetPath. Funkce targetPath převede odkaz na filmový klip do podoby řetězce.

    • Kliknutím vložte do skriptu textový kurzor. Potom v kategorii Funkce v panelu nástrojů Akce vyberte funkci eval. Funkce eval převede řetězec do podoby odkazu na filmový klip, jehož pomocí lze vyvolávat metody, jako je play.

      Následující skript přiřadí proměnné i hodnotu 1. Pak pomocí funkce eval vytvoří odkaz na filmový klip a přiřadí ho proměnné x. Proměnná x je nyní odkazem na instanci filmového klipu a může vyvolávat metody objektu MovieClip.

      i = 1; x = eval("mc"+i); x.play(); // toto je ekvivalent mc1.play();

      Funkci eval také můžete použít k přímému volání metod, jak je vidět v následujícím příkladu:

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

Získejte pomoc rychleji a snáze

Nový uživatel?