Flash-ActionScript - 6. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Flash-ActionScript - 6. lekceFlash-ActionScript - 6. lekce

 

Flash-ActionScript - 6. lekce

Google       Google       9. 11. 2005       15 854×

Tato lekce je poslední z těch, které vysvětlovaly úplné základy, dočtěte se zde o funkcích a jak je používat...

Reklama
Reklama

Funkce

Funkce umožnují seskupit příkazy a později je vykonat. Jedná se o blok kódu, který se jako obvykle ohraničuje složenými závorkami { }. Pokud nevytváříte pouze jednoduchou animaci, tak se bez funkcí určitě neobejdete. Definice se provádí příkazem function a vypadá takhle:

function nazev_funkce(){
příkazy
.
.
.
}
Jak jde z ukázky vidět, každá funkce má svůj název, kterým ji potom budeme volat. Za názvem jsou kulaté závorky, do nich se píší parametry (viz níže), i když jsou prázdné, musí tam být. Zde je jednoduchá ukázka funkce:

function pozdrav(){
  trace("Ahoj,");
  trace("Jak se máš?");
}
Když si tento příklad spustíte, zjistíte, že se nic nestane, to protože funkce nebyla zavolána, uděláte to zapsáním jména s kulatými závorkami: nazev_funkce(); priklad_61.fla

function pozdrav(){
  trace("Ahoj,");
  trace("Jak se máš?");
}
mc.onRelease = function(){
  pozdrav();
}
mc.onRollOver = function(){
  pozdrav();
}

Na začátku je definice funkce pozdav, která má pouze dva příkazy, spustí se když uživatel klikne, nebo najede myší na MovieClip mc, říká se tomu zavolání funkce. Z toho plyne jedna z výhod funkcí - místo psaní stejného kusu kódu na ruzná místa stačí definovat si funkci a potom ji volat, vyplatí se to dvojnásob, pokud je potřeba v daném kusu kódu něco změnit, protože s použitím funkcí stačí upravit definici funkce, namísto vyhledávání a uprávy všech míst. Sejného výsledku s větší námahou byste dosáhli takto:


mc.onRelease = function(){
  trace("Ahoj,");
  trace("Jak se máš?");
}
mc.onRollOver = function(){
  trace("Ahoj,");
  trace("Jak se máš?");
}

Uvnitř funkcí můžeme dokonce volat další funce, teď se naskýtá otázka jak probíhá běh programu. Možná by to zavádělo k tomu, že zavoláním funkce se běh programu rozdvojí a bude probíhat na dvou místech zároveň, opak je pravdou. Pokud zavoláme funkci, běh stávající funkce se pozastaví a proběhne volaná funkce, tak jak je to znázorněno na obrázku 6.1.

priklad_62.fla

function funkce_2(){
	trace(2);
}
function funkce_1(){
	trace(1);
	funkce_2();
	trace(3);
}

funkce_1();

obr. 6.1

Parametry

Funkce jsou sice užitečné už s tím, co jsme si řekli, ale dokáží toho ještě víc. Úplně na začátku lekce jsem se zmínil o parametrech, které se zapisují do závorek. Parametry nejsou nic jiného, než proměnné předávané volané funkci. K čemu je to dobré? Parametry funkci předáváme proměnné, s kterými vykoná různé operaceze použít i proměnné, které předáme pouhým uložením do prostoru MovieClipu a potom pužitím ve funkci, ale to bych určitě nedoporučoval, definováním parametrů funkci jasně udáváme, co funkce potřebuje k jejímu vykonání.

  priklad_62.fla
function secti(a,b){
	trace(a+b);
}
secti(5,6);
//Vypíše 11
Neefektivně by to šlo řešit tímto způsobem, ale jak se později dozvíte, tím bychom zahodili jednu podstatnou výhodu, kterou nám funkce přinášejí:

function secti(){
	trace(a+b);      
}
a = 5;

secti();

Příkaz return

Poslední částí je vrácení hodnoty, provádí se příkazem return. Každá funkce může vrátit proměnnou - výsledek, boolean úspěšnosti atd. Return může být v každé funkci pouze jednou, protože jeho provedením se ukončí.

function secti(a, b) {
	return a+b;
}
trace( secti(5, 6) );
//vypíše 11
c = secti(5, 6);
//uloží do proměnné c výsledek 11

Díky return vrací funkce výsledek, se kterým lze dále pracovat. S funkcemi můžete docílit toho, že si celý program rozdělíte na menší samostatné části, u kterých ani nemusíte vědět co se děje uvnitř, ale zajímá vás pouze vstup (parametry) a výstup (return), to je velmi užitečné při běžných i rozsáhlejších projektech.

Vestavěné funkce

Vestavěné funkce jsou funkce, které jsou přístupně automaticky, nemusíte je definovat, patří k nim napříkad funkce pro kreslení z minulého dílu . Vestavěných funkcí už je v AS 2.0 docela málo, protože se téměř vše převedlo na metody objektů (v dalších dílech), nechávají se tam hlavně kvůli kompatibilitě se staršími verzemi.

Na závěr

V tomto díle jsme dokončili základy ActionScriptu. Teď bych chtěl napsat pár praktických dílů, ve kterých použijeme to, co jsme se již naučili. Poté se podíváme na OOP a další věci z této oblasti.
ÚKOL
Vytvořte program, který přidá po kliknutí na obrázek předmětu (libovolného),
do košíku zboží. Musí to být řešené přes funkci a parametry, košík může být 
dynamic text. Takže takový malý e-shop.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

2 názory  —  2 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
Mezi největší záliby patří programování v Pythonu, PHP či Flashi - ActionScriptu.

Nové články

Reklama
Reklama
Obrázek ke článku Facebook spouští službu Marketplace V ČR

Facebook spouští službu Marketplace V ČR

Společná platforma Marketplace usnadní lidem na Facebooku vyhledávání, nákup a prodej použitého zboží na lokální úrovni. Bude tak přímou konkurencí pro weby a aplikace se stejným zaměřením jako je například Letgo, Bazoš, Aukro, Sbazar a další.

Obrázek ke článku DistrCut – optimalizace pomocí distribuované inteligence

DistrCut – optimalizace pomocí distribuované inteligence

Optimalizační systémy, které jsem dosud popisoval, se týkaly vždy optimalizace na jednom zařízení. Optimalizovalo se dělení tyčového materiálu na jedné pile, vypalování plošného materiálu na jednom plazmovém stroji, řídilo se tavení na jedné elektrické obloukové peci.

Ve výrobním procesu je však často nutné optimalizovat činnost celého výrobního úseku, kde je více různých objektů odlišného typu a koordinovat činnost těchto objektů k dosažení společného cíle, zpravidla kvality finálního výrobku. Řešení tohoto problému umožňuje distribuovaná inteligence.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý