FLASH rychle a snadno 9.

V pokračování tvorby naší vlastní flashové hry navážeme na minulý díl a podíváme se na řadu dalších výhodných triků, které v praxi použijeme.

Jednoduché ovládací menu

V druhé ze tří částí našeho putování po světě flashových her začneme naši cestu úpravami a zprovozněním základního ovládacího menu. Musí mít 2 fáze, rozbaleno a zabaleno. Dále dva mezistupně, totiž rozbalování a zabalování menu. Protože rozbalování již máme vytvořené, chybí nám nyní pouze zabalení menu. Doplníme ho tedy na časové ose hned za animace pro ukončení hry a na jeho poslední snímek zatím umístíme pomyslné stop.

Klepněte pro větší obrázek

Nyní bychom měli pospojovat všechny obrazovky spolu s navigačním menu. K tomu poslouží jednoduchý model. Na každé tlačítko menu dáme akce, které nejprve nastaví hlavní proměnou, nositelku cíle našeho kliknutí. Poté se odehraje animace zmizení menu a po ní se podle hodnoty naší proměnné přesuneme na daný snímek. V praxi to bude vypadat na každém tlačítku s obměnou proměnné lokace takto:

Klepněte pro větší obrázek

A na konečném snímku animace menuend zase bude toto:

Klepněte pro větší obrázek

Dalším důležitým krokem je umístit na patřičná místa, tedy na konec intra, do obrazovky o autorovi apod., návratová tlačítka do menu, která budou velmi jednoduchá:

Klepněte pro větší obrázek

Preloader

Abychom mohli naši hru s klidem umístit na web a zpříjemnili jsme zároveň hráčům jejich čekání na naběhnutí hry, na její začátek umístíme tzv. preloader, animace, která bude nějakým způsobem probíhat zatímco se bude načítat celé swfko. Dříve jsme si ukazovali funkci ifFameLoaded. Ovšem s ní nikdy nevytvoříme reálný ukazatel stavu stahování cílového swf souboru, na to je potřeba využít 2 základní vlastnosti. Totiž _framesLoaded a _totalFrames.

První z jmenovaných vlastností udává počet aktuálně načtených snímků z výsledného filmu, druhá zase celkový počet snímků filmu. Podle toho lze v jednoduchém podmínkovém cyklu if odvodit například počet zbývajících procent stahování hry. V našem příkladu vytvořím něco podobného. Na úvodní obrazovce budeme mít obrázek. Souběžně s ním přes něj půjde průhledný obdélník. My tento zesvětlující tvar budeme postupně zmenšovat od spodu, čímž docílíme efektu plynulého odkrývání barevné podoby obrázku spolu a načítáním hry.

Celý preloader se bude skládat ze dvou snímků, na třetím už začne animace našeho menu. Na prvním snímku tedy najdeme toto:

Klepněte pro větší obrázek

Pokud je počet načtených snímků větší nebo roven celkovému počtu snímků filmu, přesuneme se na snímek 3. Jinak se nastaví vlastnost nová pozice zesvětlujícího obrázku „obrazek“ jeho Y souřadnici. Při tomto nastavení vycházíme z toho, že na začátku má náš obrázek Y souřadnici 34 a my potom po ní pouze posunujeme ..

Fscommand

Dále se dne podíváme na to, jak a za jakých okolností je možné ovládat flashový projektor. Jednoduše řečeno, flash vložený do webové stránky je primárně podřízen jí a není tedy reprezentován projektorem, můžeme tedy ovládat veškeré vlastnosti stránky například pomocí javascriptových nastavení. Tím se „promítá“ kdykoliv, je-li spuštěn v samostatném okně, ať již jako EXE soubor, nebo v exportovaném formátu SWF. Tohoto se dá využít například u prezentací na CD-ROMech. Musíme si ale uvědomit, že pokud pracujeme s projektorem, nemůžeme využívat javascriptových příkazů na modifikaci stránky. Od toho nám slouží stejně jako pro příkazy javascriptu akce fscommand. Díky ní můžeme modifikovat vlastnosti dle následující tabulky:

fullscreen Umožňuje přehrávání přes celou obrazovku, zabraňuje změně velikosti (true/false).
allowscale Umožní změnu velikosti grafiky, když je zvětšeno okno (true/false).
trapallkeys Umožní filmu zachytávat stisky kláves místo Flash Playeru (true/false).
showmenu Zobrazí kontextové menu, pokud klikneme pravým tlačítkem na filmu (true/false).
exec Otevře spustitelný soubor (cesta k souboru).
quit Ukončí projektor.

Takže pokud bychom chtěli naši hru umístit mimo web, mohli bychom například tlačítko pro maximalizace či zpětnou velikost okna vytvořit tímto action scriptem:

Klepněte pro větší obrázek

Ukončování Flash

Pro ukončení okna potom stačí jednoduchý příkaz dle naší tabulky:

Klepněte pro větší obrázek

Pokud naši hru ale provozujeme v rámci webového prohlížeče, není vždy možné zavřít jeho okno. To je možné pouze v případě, že toto okno sami vytvoříme například pomoci příkazu window.open. Navíc na webu většinou není záhodné zavírat okno prohlížeče. Naproti tomu je možné přehrát po ukončení hry animaci konce jako máme my a poté přesměrovat stránku například na nejlepší výsledky naší hry (na přespříště budeme tvořit ukládání skóre z naší hry na webu), k čemuž nám slouží základní akce getURL.

Pokud bychom chtěli mít ukončení hry ošetřeno klíčovým dotazem, postup k tomu určený je velice jednoduchý. Stačí nám po kliknutí na tlačítko Konec spustit snímek s akcí stop();, který obsahuje upozornění o ukončení hry a dvě další výběrová tlačítka, Ukončit ANO a Ne. Při kliknutí na Ne se vrátíme zpět na naše základní menu, u tlačítka Ano zase spustíme ukončovací animaci, po níž se hra třeba přesměruje an jinou stránku.

Kurzor myši

Dnešním posledním tématem, kterým se budeme zabývat, je modifikování kurzoru myši. Ukážeme si, jak změnit kurzor myši na vlastní, nebo jak ho třeba úplně schovat. Abychom mohli s kurzorem operovat, musíme si ujasnit základní vlastnosti kurzorů ve Flash. Vlastnosti _xmouse a _ymouse nám určují aktuální souřadnice kurzoru myši.

Nejprve si ukážeme jak skrýt a odkrýt kurzor, k tomu slouží akce Objects -> Mouse -> hide a show. Chceme-li skrýt náš kurzor, pokud se dostane do oblasti některého tlačítka, lze to udělat takto:

Klepněte pro větší obrázek

Proč si toto ale doopravdy ukazujeme je základ vytvoření našeho vlastního kurzoru. To se dělá pomocí jednoduchého skriptu, který schová skutečný kurzor a na jeho místo poté vkládá náš klip. My si toto budeme demonstrovat na příkladu, kdy se náš kurzor objeví ve chvíli, kdy jeho klip načteme na scénu. Potom na něj stačí umístit tyto akce, začínající v akcích Actions -> onClipEvent:

Klepněte pro větší obrázek

Vidíte, že pro nastavení souřadnic našeho klipu coby kurzoru používám vlastnosti pozic kurzoru myši při pohybu myši. Výsledná změna kurzoru potom vypadá takto:

Správa proměnných

Abychom mohli snadno kontrolovat a ošetřovat některé akce, ukázali jsme si dnes již jednou jak snadno lze podmínkové cykly aplikovat na ošetření stavů proměnných. Tohoto využijeme i při další práci s naší hrou v jejím samém jádru. Základem celého kódu je vždy promyslet, jakým způsobem budeme pracovat se všemi proměnnými a podle toho je poté seskládat v kódu. Například my budeme používat počítání celkového počtu zobrazených hlavolamů a počtu rozbalených hlavolamů. K tomu nám poslouží na začátku definice dvou proměnných:

hlavolamy=0;
rozbalene=0;

Poté budeme navyšovat jednotlivé proměnné pomocí jednoduchého kódu:

hlavolamy+=1;

Pokud je počet nerozbalených hlavolamů větší pěti, ukončíme jeho hru:

if((hlavolamy-rozbalene)>5){
gotoAndPlay(“konechry“);
}

Pomocí podobně jednoduchým akcí lze se základní znalostí syntaxe action scriptu vcelku s klidem provádět vše potřebné pro Flash hry, v kombinaci s řadou jednoduchých funkcí a vlastností objektů, platících ve Flash.

Tím bychom dnes naše povídání ukončili, napříště již naší hru dokončíme do hratelné podoby a přespříště ji už pouze upravím pro komunikaci s webem.

Váš názor Další článek: KaZaA Lite 1.7.1

Témata článku: Software, Prohlížeče, Programování, Flash, Menu, Nová pozice, Jednoduchá pozice, Základní stránka, Jednoduchá cesta, Celý film, Poslední snímek, Celková velikost, Celá obrazovka, Základní akce


Určitě si přečtěte

Deset kotev, které i v roce 2020 táhnou Android ke dnu

Deset kotev, které i v roce 2020 táhnou Android ke dnu

** Android existuje skoro 12 let a za tu dobu v mnoha směrech dospěl ** Dnes běží na sedmi z deseti telefonů, ale čemu za to vděčí? ** Našli jsme 10 kotev, které táhnou tento operační systém ke dnu

Karel Kilián | 165

Za hranicemi Chromu: 13 nejzajímavějších prohlížečů, které „nikdo“ nepoužívá

Za hranicemi Chromu: 13 nejzajímavějších prohlížečů, které „nikdo“ nepoužívá

** Šesti nejpoužívanějším prohlížečům patří 94 % trhu ** Různé „klony“ Chromu slibují lepší funkce nebo jiný design ** Také Firefox má řadu zajímavých odnoží

Lukáš Václavík | 38

AR není ani po letech žádný trhák. Teď to zkusí Hybri, který svleče vaše kamarádky

AR není ani po letech žádný trhák. Teď to zkusí Hybri, který svleče vaše kamarádky

** Rozšířené realitě i po letech chybí praktické využití ** Selhaly mobilní aplikace i AR brýle ** Floridské studio to proto zkusí přes bizarní erotiku Hybri

Jakub Čížek | 18

Apple vychrlil novinky: Nové operační systémy a příprava na vlastní procesory

Apple vychrlil novinky: Nové operační systémy a příprava na vlastní procesory

** Apple dnes představuje novinky ** Tradiční keynote v rámci konference WWDC probíhá jen online ** Nové operační systémy, ale i něco navíc

David Polesný | 108


Aktuální číslo časopisu Computer

Megatest SSD s kapacitou 1 TB

Srovnávací test robotických vysavačů

Vybíráme nejlepší telefony na trhu

Jak zlepšit zvuk televize