Tento díl je opět věnován začátečníkům a měl by být prvním ze dvou dílů, ve kterých bych chtěl převážně začátečníkům osvětlit používání některých základních akcí. Dnes si tedy vysvětlíme použití akcí „goto“, „getURL“ a „ifFrameLoaded“.

goto

Tato akce je opravdu naprosto základní funkcí. Jak už název napovídá – goto (jdi na…). Jedná se o akci, která přenese běh animace na určitý snímek nebo label. Tuto akci lze vložit jak na tlačítko, tak přímo do klíčového snímku v časové ose. Po vykonání této akce může animace běžet dál (gotoAndPlay) nebo se na cílovém snímku zastaví (gotoAndStop).

Na malém příkladu si ukážeme použití této akce. Animace se zastaví na prvním snímku a po stisknutí tlačítka se přenese na snímek 50 a po opětném stisku tlačítka zpět na snímek 1.

Vytvořte si tedy novou scénu (CTRL+N) o velikosti 300×150 px (CTRL+M). Podle obrázku si zde vytvořte vrstvy, do nichž budeme umisťovat jednotlivé objekty a akce. Do vrstvy "content" napište do prvního snímku nápis "snímek 1", pak do snímku 50 vložte klíčový snímek (F6) a do něj vložte nápis "snímek 50". Nyní je třeba vytvořit si tlačítko, kterým se bude animace ovládat. Nakreslete si tedy do vrstvy "button" kolečko, to šipkou označte a uložte jako symbol (F8 – Button). Klepněte nyní na tento objekt pravým tlačítkem a zvolte "Actions". V levé části okna "Actions" klepněte na nápis "Go To", do políčka Frame vložte číslo 50 a odškrtněte volbu Go To and Play, která slouží k tomu, aby animace po přesun na cílový snímek dále pokračovala.

on (release) {
gotoAndStop (50);
}

Nyní vložte ve vrstvě "Button" do snímku 50 klíčový snímek a v akci, která se již nachází v tomto tlačítko, změňte číslo cílového snímku:

on (release) {
gotoAndStop (1);
}

Do prvního snímku vrstvy "Actions" je nyní ještě třeba vložit akci: "Stop", aby se animace po stažení automaticky nerozběhla, ale zůstala stát na prvním snímku.

getURL

Akce getURL pracuje na podobném principu jako výše popsaná akce "goto". Tato akce, narozdíl od té předchozí, nepřejde na daný cílový snímek, ale na předem dané URL. Akce "getURL" se typicky používá například, pokud máme na WWW prezentaci flashové intro a po jeho skončení chceme přejít do HTML stránek.

Akci getURL lze přiřadit několik parametrů. Prvním z nich je "Window" (okno), kde lze podobně jako v HTML nadefinovat jak se má daný odkaz otevřít. Volby jsou následující:

_self – URL se otevře ve stejném okně jako je odkaz (defaultní hodnota)
_blank – URL se otevře v novém okně
_parent – URL s otevře v nadřazeném Framesetu
_top – URL se otevře v nejvyšším nadřazeném Framesetu

Parametr variables lze využít v případě, pokud použijeme tuto akci k odeslání dat z formuláře umístěného ve Flash. Obvykle se zde pak musíme odkazovat pomocí funkcí GET nebo POST na předem vytvořený CGI skript, který data formuláře zpracuje. Pokud však akci využijeme jen k přechodu na danou stránku, pak volíme položku "Don’t send" (neposílat).

Opět si na použití funkce GetURL vytvoříme malý příklad. Do scény o stejných parametrech jako v minulém příkladu vložte tlačítko, k němuž přiřadíte akci:

on (release) {
getURL ("http://www.interval.cz/", "_blank");
}

Tato akce otevře po stisknutí tlačítka adresu www.interval.cz v novém okně. Pro vkládání adresy platí stejná pravidla jako u HTML, lze tedy vkládat odkaz jak v absolutní, tak relativní. Do scény vložte ještě jedno tlačítko, pomocí kterého otevřeme poštovního klienta a vytvoříme nový e-mail. Tomuto tlačítku přiřaďte následující akci:

on (release) {
getURL ("mailto:kalda@24.cz");
}

K adrese lze samozřejmě ještě vložit další parametry (BC, CC, Subject, Body), které se vkládají za adresu a oddělují se znakem "?".

ifFrameLoaded

Tato funkce slouží ke zjištění, který snímek animace je již stažen. Funkci ifFrameLoaded využijete zejména tehdy, pokud tvoříte preloader. Preloader je soubor akcí, které se nacházejí na začátku takové animace, která je natolik velká, že by se nestihla zároveň přehrávat a stahovat. Pomocí preloderu se start animace, v závislosti na rychlosti stahování, pozdrží a ve chvíli, kdy je staženo dostatečné množství dat, animace se spustí.

Preloaderů je možno najít na Internetu velké množství, od těch nejzákladnějších, které neposkytují žádné informace o tom, jak stahování probíhá, až po ty velmi vyspělé, které nejen, že zobrazují procentuelně průběh stahování a množství stahovaných dat, ale dokonce umí zobrazit i aktuální rychlost stahování. Na malém příkladu si takový jednoduchý preloader vyrobíme a budeme si tak demonstrovat použití funkce "ifFrameLoaded".

Preloader potřebuje ke své správné funkci dva snímky. V prvním snímku se musí nacházet následující akce:

ifFrameLoaded (50) {
gotoAndPlay (3);
}

Tato akce znamená, že pokud je stažen snímek 50, může animace přejít a pokračovat na snímku 3, kde již začíná samotná animace. V opačném případě přejde na snímek dvě, kde je nadefinována tato akce:

gotoAndPlay (1);

Tím se nám vytvoří na prvních dvou snímcích smyčka, která se bude opakovat do té doby, než bude snímek 50 stažen.

Základních akcí, které lze v programu Macromedia FLASH 5 využívat je samozřejmě mnohem víc. Příště se budeme věnovat funkcím: loadMovie, loadVariables, setPropert a startDrag. Pokud by jste měli zájem přečíst si i o použití dalších funkcí, napište mi a já je do některých z příštích článku zahrnu. Všechny tři zdrojové soubory k dnešnímu článku si jako vždy můžete stáhnout jako ZIP soubor.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět