Flash – přiřazení akcí k objektům

12.5.2008· Autor: Ondřej Brichta· Přidat komentář

Spuštění libovolného příkazu je vázané na konkrétní událost, například stisknutí tlačítka. Podívejme se, jak můžeme k objektům akce přiřazovat.

Akce a události

Abychom mohli spustit jakýkoliv příkaz ActionScriptu, musíme flashovém přehrávači zadat, kdy se má tento příkaz spustit. Spouštění příkazů ActionScriptu mají na starosti události (events), které přesně definují, kdy se konkrétní příkaz vykoná. Těmito událostmi může být celá řada, nejčastěji se ale setkáváme se stisknutím tlačítka, přehráním snímku časové osy a pohybem kurzoru myši.

Dejme tomu, že chceme spustit příkaz pro otevření nové webové stránky: getURL("http://www.flash.cz");

Pokud umístíme příkaz do klíčového snímku časové osy, vykoná se při události zobrazení (přehrání) tohoto klíčového snímku. Jakmile se animace přesune na tento snímek, příkaz se vykoná:

akce 1

Další možností, jak spustit tento příkaz, je připojení k tlačítku na scéně. Zde se nám nabízí dvě možnosti, jak příkaz s tlačítkem spojit. První možností je zvolení konkrétního tlačítka na scéně a vložení příkazu přes panel akcí přímo na symbol tlačítka:

tlačítko akce

Nesmíme zapomenout vložit název události, při které se příkaz vykoná. Pokud bychom u symbolu tlačítka zapomněli napsat konkrétní událost a vložili jenom čistý příkaz:

tlačítko chyba

Objeví se při exportu chybová hláška:

chyba

Ta nás informuje, že požadovaný příkaz musíme vložit do nějaké konkrétní události.

Druhou možností, jak připojit příkaz k objektu (tlačítku), je přes akce snímků časové osy. Tento způsob je mnohem praktičtější, než uvedený způsob psaní akcí přímo na tlačítka, protože máme všechny příkazy umístěné na jednom místě - a snímku časové osy.

Pokud chceme přiřadit akce k objektům animace, musíme nejprve pojmenovat instance těchto objektů:

instance

Jakmile máme objekt tlačítka pojmenován, můžeme na stejném klíčovém snímku časové osy, kde máme tlačítko umístěné, připojit akci k události stisknutí tlačítka:

akce snimek

 

Akce v ActionScriptu 3.0

V nové verzi ActionScriptu můžeme akce k objektům přiřazovat pouze přes snímky časové osy. I proto je vhodné používat ve starší verzi ActionScriptu 2.0 druhý způsob připojení příkazů přes snímky časové osy, protože si tak lépe zvykneme na pozdější přechod na nový ActionScript 3.0

Pokud potřebujeme vložit příkaz k události konkrétního objektu, opět musíme mít pojmenovanou jeho instanci a samotný příkaz pak umístíme do vlastní pomocné funkce, přes kterou jej připojíme ke konkrétnímu objektu přes metodu addEventListener:

function zobrazWeb(e:MouseEvent):void{
var req:URLRequest = new URLRequest("http://www.flash.cz"); 
navigateToURL(req);
}
moje_tlacitko.addEventListener(MouseEvent.CLICK, zobrazWeb);

 

Ondřej Brichta Vývojář multimediálních aplikací, šéfredaktor Flash.cz, školitel produktů Flash, Flex, Flash Media Server

Web: http://www.obria.cz |

Motto: <°))))><

Seriál: Tipy a triky

Tipy a triky je seriál zaměřený na zajímavá řešení a vylepšení flashových aplikací

Komentáře k článku  

Přihlášení uživatele