Tvorba hier vo Flashi - druhá časť

Dnes sa pozrieme na ovládanie hlavnej časovej osi a opíšeme si niektoré príkazy actionscriptu určené pre prácu s časovou osou. Ukážeme si aj postupné načítanie *.swf súboru do prehliadača.

Pre vytvorenie aspoň minimálne zaujímavej aplikácie vo Flashi je potrebné poznať príkazy, pomocou ktorých môžeme manipulovať s jednotlivými rámikmi (frames) na časovej osi (timeline). Jeden rámik predstavuje jeden obrázok animácie a súhrnné prehranie rámikov za sebou za určitý čas predstavuje súhrnnú animáciu. Práca s osou je intuitívna a jednotlivé rámiky sa dajú označovať a mazať pomocou lavého a pravého tlačítka myši.

Ako som spomenul popíšeme si teda príkazy pre prácu s časovou osou:

gotoAndPlay()
príkaz je dostupný už od verzie Flash 2. Používa sa tak, že do zátvorky zadáme ako parameter názov scény alebo číslo rámiku (frameu), na ktorý sa má skočiť a pokračovať v prehrávaní. Pričom scéna je definovaná ako reťazec a frame ako číslo. Táto funkcia nevracia nič.
Príklad použitia:
gotoAndPlay([scéna,] frame); //scéna je nepovinný parameter

V prípade, že nezadáme scénu - rozumie sa scénou aktuálna vybratá scéna, v ktorej práve sme a v nej sa skočí na zadaný rámik na časovej osi (frame).

Obdobný význam ako predošlý príkaz má príkaz

gotoAndStop()
Pre tento príkaz platí všetko to isté ako pre predošlý príkaz s tým rozdielom, že sa prehrávacia hlava na zvolenom rámiku časovej osi zastaví a v prehrávaní sa ďalej nepokračuje. napr.: Definujeme akciu po stlačení nejakého tlačítka:
on(release) {
gotoAndStop(7); //choď na rámik sedem a zastav tam
}

Ďalšou zaujímavou skupinou sú doplnkové príkazy skoku na predošlý alebo nasledujúci rámik alebo scénu. Scéna má fo Flashi presne ten istý význam ako v klasickej kinematografii - sprehľadňuje celý dokument.
Takže popíšeme si jeden takýto príkaz a syntax ostatných je presne rovnaká respektíve podobná.

prevFrame()
je príkaz skoku na predošlý frame (previous frame) na časovej osi. Táto funkcia nevracia nič a nemá ani nijaký parameter. Obdobne sa používajú aj funkcie
nextFrame()
prevScene() //predošlá scéna
nextScene() //ďalšia scéna
Určite Vám neunikol podstatný detail, že za príkazmi píšeme bodkočiarku ; a komentáre sa priamo v actionscripte označujú //
stop(); play();
Príkazy na zastavenia prehrávania a začiatok prehrávania.

Ďalej sme povedali, že si povieme čoto o načítavaní *.swf súboru do prehliadača. Je možné, že niekedy potrebujeme načítať väčší dokument a tak by nevyzeralo profesionálne, keby sa v prehliadači počas načítavania zobrazovalo iba prázdne biele miesto. Vhodnejšie by bolo čakajúcemu ponúknuť efektnú obrazovku s vtipnou animáciou a nápisom Načítavam... (28%). Ako tento jednoduchý Preloader ("Načítávač") vytvoriť si povieme v ďalšej časti seriálu.



Ján Hruboš, j111@azet.sk
Stiahnuté z Developer.sk