FLASH rychle a snadno 12.

Dnes si ukážeme opět něco z praxe Flash – vytvoříme si formulář, kterým budeme data po dohrání hry na server, kde budou uloženy do SQL tabulky. Také si ukážeme možnosti Debuggeru.

Na co se dají použít formuláře?

Tentokrát začneme dnešní flashovou lekci povídáním o formulářích. Obecně použijeme v běžném formulář při sběru dat. Třeba při vyplnění přihlášky do nějakého klubu je nám předložen formulář, do kterého zadáme osobní data, zaškrtneme si co bychom chtěli dělat, vybereme náš věk a úroveň v daném oboru. Při internetových aktivitách samozřejmě můžeme data získat úplně stejně, dokonce čas jejich zpracování může být několikrát menší. Jak to v tomto případě vypadá s Flashem?

Flash a formuláře

Formulář v pravém slova smyslu ve Flashi nenajdeme. Nemůžeme kliknout na knihovnu a vytvořit formulář formou příkazů či voleb. Do jisté míry se vše odvíjí od definice formuláře, pokud bereme v potaz například normy HTML (HyperText Markup Language – standard pro tvorbu na webu), je formulář nutně použit při jednom z jeho prvků (zaškrtávací políčko, textové pole …). Tomuto Flash nemůže vyhovět – veškeré pomyslné prvky formuláře jsou totiž v podstatě pouhými tlačítky (kromě textového pole).

U HTML se veškerá data z formuláře odesílají dále, existují zde pak neviditelná tlačítka pro přenášení některých dat z již stanovených proměnných, ani toto není u Flashe třeba. Ten pochopitelně uchovává všechny proměnné pořád a nepotřebuje odesílat žádné data, pokud je nemá zpracovat externí aplikace.

Pokud by tedy byl Flashový formulář tehdy, kdy data po kliknutí na tlačítko zpracuje externí aplikace, není o stále úplné. Flash totiž může data zpracovat i sám. Představme si třeba model aktuálního programu pro generování vašeho nového telefonního čísla po přečíslování. Toto by přece zvládl Flash sám o sobě díky výpočetní funkci … Dalším příkladem mimo standardní rámec zadávání informací ve formuláři je kalkulačka, i tu můžeme jednoduše Flashem řešit. Definujme si tedy formulář ve Flash jako seskupení na scéně, jenž obsahuje svým uživatelem definovatelné proměnné, se kterými se pak dále pracuje.

Základní formulářové prvky

Jak jsem již předeslal, formulářové prvky ve Flash jsou vlastně tlačítky, proto je můžete vyvolat pomocí zvolení Help->Samples->Advanced Buttons - rozšířené tlačítka. Nejjednodušším prvkem samozřejmě jsou textová pole, která nejsou ničím jiným než textovým polem Input. Dále se hojně používají výběrová tlačítka, pokud volíme právě jednu možnost z více oddělených, jedná se o tzv. Radio, když máme jedno výběrové pole s více možnostmi mluvíme o Selectu a zaškrtáváme–li pouze oddělené možnosti, je to Check box. Mezi rozšířená tlačítka Flash patří i posuvník, ale o tom až někdy příště. Nyní si sestrojíme jednotlivá jmenovaná tlačítka.

Radio

Toto tlačítko použijeme, má-li uživatel vidět rovnou všechny svoje volby a zvolit pouze jednu z nich. Na začátek si vytvoříme si movie clip. Do prvního snímku vložíme jednotlivé volitelné položky a jednu z nich necháme zatrhnutou. Dle počtu položek vytvoříme tolik dalších snímků, aby v každém z nich byla vždy jedna položka zatrhnutá. Nakonec přidáme nad každou položku neviditelné tlačítko, na které když se klikne, přeneseme se na snímek se zaškrtnutou položkou a aktuální proměnnou našeho Radio se stane její hodnota. Celé je to velmi jednoduché, v praxi se použije pouze tento jednoduchý kód:

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

Select

Důvod použití tohoto tlačítka je totožný s Radio, ovšem prvek je úspornější na místo úvodního zobrazení. Tvorba je zde opět lehká, na začátku je opět movie clip. Úvodní snímek tvoří srolované tlačítko, dále máme již snímky se všemi rozrolovanými možnostmi, vždy s jednou zvýrazněnou. Potom už stačí přiložit na každou možnost neviditelné tlačítko, na které pokud se najede myší, přesune se film na daný snímek, a pokud se myší klikne, zvolí se jistá možnost a Select se zaroluje.

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

Check box

Další možností tlačítka je zaškrtávací, to se tedy umisťuje na scénu jednotlivě a nabývá hodnot true/false, on/off, 0/1, na tom nezáleží, prostě je to typ boolean. Vytvoří se jednoduše opět přes movie clip, na prvním snímku nezatrhlé a na druhém zatrhlé tlačítko.

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

Pokud naše tlačítka chceme více zdynamizovat, můžeme jejich jednotlivé fáze zanimovat, stačí odkázat funkcí gotoAndPlay na snímek, na němž animace začíná, a zastavit ji kdy je potřeba a zaktivovat zase všechny funkce. Příklad toho můžete vidět u jedné z variant check boxu výše, zdrojový kód celé zmíněné scény je pak TADY.

Náš vlastní formulář

Při tvorbě formuláře do naší hry budeme tvořit nejprve jeho kusou podobu. Ujasníme si, které prvky bude hráč po dohrání vyplňovat a které budou automaticky přiřazeny. Protože se jedná o odeslání herního výsledku, řekněme že postačí samotné skóre hry, které budeme mít uložené v proměnné skore, dále hráč doplní svoje jméno, příjmení, přezdívku, email, zvolí si pohlaví a zaškrtne si, zda mu má na email přijít info o výsledku hry.

Celý formulář bude tvořen dvěma snímky, na první umístíme k vyplnění formulář a na ten druhý zase vložíme akce, které odešlou data (vše by mělo běžet v prohlížeči, aby data mohl zpracovat skript, proto nahradíme okno flashe pomocí metody getURL přímo výsledkem skriptu). Úvodní snímek vytvoříme dle následující šablony:

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

Do každého volitelného tlačítka pak vložíme změnu proměnných v jeho fázích přímo v _root.-u, abychom se poté k proměnným snadno dostali, taktéž pohyb z tlačítka na odeslání pokud je z více částí budeme definovat pro root. Na druhém snímku tedy odešleme data dle osvědčeného postupu:

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

Zapis.php

<?
/*zápis dat do tabulky mysql*/
?>
<table width=400 align=center>
<tr><td colspan=2 align=center><h2>Tyto data jste odeslal na náš server:</h2></td></tr>
<tr><td align=left><b>Jméno a příjmení:<td align=left><?echo $jmeno;?></td></tr>
<tr><td align=left><b>Přezdívka:<td align=left><?echo $nick;?></td></tr>
<tr><td align=left><b>Pohlaví:<td align=left>
<?
if($pohlavi==0):
echo "muž";
else:
echo "žena";
endif;
?></td></tr>
<tr><td align=left><b>Info o hře na email:<td align=left>
<?
if($info==0):
echo "ne";
else:
echo "ano";
endif;
?></td></tr>
<tr><td align=left><b>Email:<td align=left><?echo $email;?></td></tr>
<tr><td align=left><b>Skóre:<td align=left><?echo $skore;?></td></tr>

Zpracující skript

Zpracující skript je vcelku jednoduchý, je jedno jaký použijeme jazyk, ale poté můžeme třeba takto reprezentovat přijatá data, ujistit uživatele o výsledku operace apod.:

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

ZDE si opět můžete stáhnout zdrojový kód našeho formuláře a prostudovat si ho.

Debugger

Dnešní lekci zakončíme povídání o Debuggeru. Název nepochází z češtiny a může být poněkud matoucí, nejedná se totiž o žádný inovovaný model rýpacího stroje, ale o možnost kontroly chodu našeho filmu pomocí monitoringu jeho proměnných, vlastností, hodnot instancí a mnoho jiného. Spolu s debuggerem můžeme použít pro sledování proměnných i okno Output, na které se ovšem spolu s rozšířením dnešního povídání o debuggeru podíváme až příště. Prozatím si pouze popíšeme základní specifika debuggeru.

Kdy tedy máme debugger použít? Třeba chceme-li ověřit zacházení Flashe s informacemi v proměnných, nebo když testujeme vliv podmínek či proměnných. Klasickým příkladem je sledování rychlosti, která závisí na nějaké proměnné. Můžeme ji lehce zvyšovat dokud nejsme spokojeni s její hodnotou a dopadem na animaci.

Panel debuggeru se otevírá jako speciální aplikace Flash Playeru v rámci autorského programu Flash. Zobrazuje informace ve dvou částech, v okně zobrazení nahoře a dole v seznamu vlastností, proměnných a sledováních. V okně zobrazení je vidět kořenová časová osa a hierarchie movie clipů na ní. Při výběru kořenové osy nebo konkrétního movie clipu vidíme pak příslušné vlastnosti.

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

A co příště?

V následujícím díle dokončíme povídání o Debuggeru a podívám se na řadu užitečných tipů, mimo jiné i na slíbené používání okna Output.

Váš názor Další článek: Jak jste na tom s hesly?

Témata článku: Software, Programování, Flash, Echo, Tlačítko, Textové pole, Radio 1, Dnešní povídání, Osvědčený stroj, Přijatý výsledek, Jednotlivý snímek, Movie, Radio, Neviditelné tlačítko, Zaškrtávací políčko, Zobrazená data, Jednotlivé prvky, Zobrazený prvek, Herní knihovna, Jednoduché rozšíření, Clip


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

Avast Omni: Krabička, která vám hackne síť a promění se v unikátní antivirus

Avast Omni: Krabička, která vám hackne síť a promění se v unikátní antivirus

** Počítač dnes ochrání kdejaký antivirus ** Drobná krabička Omni se postará rovnou o celou domácí síť ** Bude ji odposlouchávat, analyzovat a blokovat útoky

Jakub Čížek | 120

Jakub Čížek
AntivirusIoT
Dostali jste nový počítač? Tohle s ním udělejte, než ho začnete používat

Dostali jste nový počítač? Tohle s ním udělejte, než ho začnete používat

** Každý nový počítač si zaslouží počáteční péči ** Odinstalujte bloatware a nezapomeňte na vhodné nastavení ** Poradíme, jak se o počítač s Windows 10 postarat

David Polesný, Stanislav Janů | 75

David PolesnýStanislav Janů
PočítačeNotebooky
Japonská MANA může být 80× výkonnější než sebelepší tranzistorový procesor

Japonská MANA může být 80× výkonnější než sebelepší tranzistorový procesor

** Tranzistory současných počítačů vyzařují při přepínání teplo ** Na Tokijské univerzitě proto vyvíjejí adiabatické procesory ** Využívají supravodivost a jsou 80× úspornější

Jakub Čížek | 48

Jakub Čížek
TranzistoryProcesoryTechnologie
26 užitečných rozšíření pro Chrome: Naučte prohlížeč nové věci

26 užitečných rozšíření pro Chrome: Naučte prohlížeč nové věci

** Prohlížeč Chrome obsahuje širokou škálu funkcí, neumí ale všechno ** Jeho schopnosti můžete rozšířit pomocí rozšíření ** Vybrali jsme pro vás zajímavé a užitečné doplňky

Karel Kilián | 47

Karel Kilián
Doplňky do prohlížečeChromeProhlížeče
Týden Živě: On fakt dnes ještě někdo stahuje filmy z Ulož.to?

Týden Živě: On fakt dnes ještě někdo stahuje filmy z Ulož.to?

** Kauza Ulož.to a proč my dva už (moc) newarezíme ** Windows 10X existují, ale nabízí se otázka proč ** Nissan ukázal vizi kanceláře v podobě karavanu

Jakub Čížek, Vladislav Kluska | 152

Jakub ČížekVladislav Kluska
Týden ŽivěVideo
Superinteligenci nedokážeme ovládat a nejspíše se nedozvíme, že už tam někde je

Superinteligenci nedokážeme ovládat a nejspíše se nedozvíme, že už tam někde je

** Firmy i organizace včetně EU připravují etické kodexy pro A.I. ** Vědci z Madridu zkoumali, jestli je budeme moci aplikovat na A.I. 2.0 ** A je tu háček, superinteligence pro nás totiž bude neuchopitelná

Jakub Čížek | 84

Jakub Čížek
Umělá inteligence
Pozor na tyto doplňky pro Chrome a Edge. Mohou obsahovat malware, varuje Avast
Jakub Čížek
MalwareProhlížeče
Konec modrých obrazovek smrti? Microsoft vydává mimořádnou aktualizaci pro Windows 10
Karel Kilián
Windows UpdateAktualizaceWindows 10
Apple Macbook Air M1: testujeme výkon, výdrž, a hlavně kompatibilitu aplikací [průběžně aktualizováno]

Apple Macbook Air M1: testujeme výkon, výdrž, a hlavně kompatibilitu aplikací [průběžně aktualizováno]

** Testujeme Apple Macbook Air s procesorem M1 ** Zajímá nás nejen výkon, ale zejména kompatibilita aplikací ** Článek je průběžně doplňován na základě vašich dotazů

Jiří Kuruc | 209

Jiří Kuruc
Apple