Výuka Flash (12.)
Objekty - pokračování
V dnešním díle budeme pokračovat v poznávání ActionScriptu. Ukážeme si některé další objekty a vysvětlíme si jejich funkci.
Práce s datumem a časem
Pro práci s datumem a časem slouží objekt Date. Díky tomuto objektu můžeme zjistit například aktuální hodinu, minutu, měsíc a mnohé další časové údaje. Základní metody si ukážeme v tabulce:
Metoda |
Popis |
getDate |
Vrátí číselnou hodnotu, která vyjadřuje aktuální den (1 - 31). |
getDay |
Vrátí číselnou hodnotu, která vyjadřuje aktuální den v týdnu. Výsledné číslo je v rozmezí 0 (neděle) až 6 (sobota). |
getFullYear |
Vrátí číselnou hodnotu, která vyjadřuje čtyřmístné vyjádření aktuálního roku (2003). |
getHours |
Vrátí číselnou hodnotu, která vyjadřuje aktuální hodinu. Výsledné číslo je v rozmezí 0 až 23. |
getMiliseconds |
Vrátí číselnou hodnotu, která vyjadřuje aktuální milisekundu. Výsledné číslo je v rozmezí 0 až 999. |
getMinutes |
Vrátí číselnou hodnotu, která vyjadřuje aktuální minutu. Výsledné číslo je v rozmezí 0 až 59. |
getMonth |
Vrátí číselnou hodnotu, která vyjadřuje aktuální měsíc. Výsledné číslo je v rozmezí 0 (Leden) až 11 (Prosinec). |
getMiliseconds |
Vrátí číselnou hodnotu, která vyjadřuje aktuální vteřinu. Výsledné číslo je v rozmezí 0 až 59. |
getTime |
Vrátí číselnou hodnotu, která vyjadřuje počet vteřin od půlnoci 1. ledna 1970. |
- Práci s datumem si ukážeme na příkladě. Otevřeme si nový dokument (CTRL+N) a vytvoříme v něm nové textové pole pomocí nástroje Text Tool (T). Do tohoto pole vepíšeme text "Aktuální datum:".
- Vedle něj vytvoříme další pole, kterému nastavíme vlastnost Text type v panelu Properties na Dynamic Text. Nyní je potřeba si označit toto textové pole názvem, pomocí kterého se na něj budeme v ActionScriptu odkazovat. Zvolme tedy jako vlastnost Variable název například "datum".
-
Nyní toto textové pole vyberme, zvolme Insert->Convert to Symbol... -> Movie Clip a nějak jej pojmenujme. Vše by prozatím mohlo vypadat následovně:
- Vyberme instanci tohoto Movie Clipu a otevřete panel Actions. Zde zvolme akci "onClipEvent (enterFrame)". Nyní vyberme akci "set variable" a do pole Variable vepišme název instance nového objektu Date "AktualniDatum". Do pole Value vložte "Objects -> Core -> Date -> new Date". Nezapomeňme u tohoto pole zaškrtnout volbu "Expression".
- Nyní si pomocí ActionScriptu vložíme do textového pole aktuální čas a datum. Jednotlivé metody můžeme spojovat pomocí znaku "+" a připojovat k proměnné "datum" pomocí znaku "=". Upravit si budeme muset také metodu "getMonth" tak, že ji pro naše časové podmínky zvětšíme o 1. Celý zdrojový kód by mohl vypadat následovně:
- Pokud nyní klip spustíte, měl by se v textovém poli zobrazit aktuální čas a datum.
- Za "domácí úkol" si můžete tento příklad upravit tak, aby zobrazoval české názvy dnů. Můžete to udělat tak, že vytvoříte podmínku "if" nebo využijete pole.
Práce se zvukem
Práce se zvukem patří mezi nejzajímavější vlastnosti, které Flash obsahuje. Můžeme přidat do svých klipů pomocí zvukových efektů vazbu mezi návštěvníkem a klipem.
K ovládání zvuku využijeme objekt Sound. Pomocí tohoto objektu můžeme spouštět přehrávání zvukových nahrávek, zastavovat, nastavit hlasitost a další různé vymoženosti.
- Práci se zvukem si opět ukážeme na příkladě. Otevřeme si nový klip, ve kterém si vytvoříme dvě tlačítka. Jedno tlačítko bude mít nápis "Start" a druhé "Stop".
- Do knihovny si naimportujeme zvolený zvukový soubor. Flash podporuje většinu zvukových souborů (mp3, wav, wmv, atd.). My si naimportujeme tento zvukový soubor (nachází se ve složce "priklady/12/"). Zvolme tedy File -> Import... -> dog.wav. Tento soubor nyní nalezneme v knihovně.
- Vytvoříme instanci našich tlačítek na jevište. Vše by prozatím mohlo vypadat následovně:
-
Nyní tlačítku start přiřadíme akci "on (press)" a vytvoříme si instanci objektu Sound, kterou nazveme "Zvuk".
- K čemu by nám byl zvuk v knihovně, když bychom ho neměli jak zavolat. Nastavíme tedy v knihovně (CTRL + L) u našeho naimportovaného zvuku (dog.wav) vlastnost Linkage... na "Export for ActionScript". Jako identifikátor zvolíme název "pes".
- Nyní se vrátíme k našemu tlačítku "Start" a námi vytvořené instanci přidáme metodu "attachSound", která si z knihovny vybere zvukový klip podle zvoleného názvu (v našem případě "pes"). Tímto bychom mohli mít v knihovně několik zvukových klipů, které se budou lišit identifikátorem (názvem).
- Zvuk můžeme spustit pomocí metody "start", která má dva parametry. Prvním je secondOffset, který určuje počet vteřin, od kterých se zvolený zvuk spustí. Pokud budeme mít zvukový soubor, který má délku 10 vteřin a zvolíme secondOffset na 3, tak se bude zvolený zvukový soubor přehrávat až od třetí vteřiny. Druhým parametrem je loops, který určuje, kolikrát se bude zvukový soubor opakovat. Pro náš příklad si nastavíme secondOffset na 0 a loops na 10.
- Nyní přiřadíme tlačítku "Stop" opět akci "on (press)" a přiřadíme našemu objektu metodu "stop", která ukončí přehrávání zvuku. Pokud máme spuštěno více zvuků můžeme využít metodu "stopAllSound".
- Příklad můžeme nyní spustit a vyzkoušet jej.
- Flash také umožňuje změnu hlasitosti pomocí metody "setVolume", do které můžeme dosadit hodnoty 0 (nejnižší) až 100 (nejvyšší).
- Pro úpravu zvuku můžeme také využít metodu "setPan", která umožňuje určit, ze kterého reproduktoru bude zvuk vycházet. Můžeme dosadit -100 (levý reproduktor) a 100 (pravý reproduktor).
- Další metodou, kterou můžeme využít k načtení zvuku (pouze mp3) je "loadSound". Tato metoda má opět dva parametry. První určuje HTTP adresu k mp3 souboru a druhý boolean hodnotu, zda je zvolený zvuk streamován.
Celý příklad si můžete stáhnout a prohlédnout zde.
Pro tento díl to bude vše. V příštím díle budeme pokračovat v ActionScriptu.
Petr Rympler
