Slouží k zaobalení bloku kódu, který pak můžeme opakovaně použít. Dobře napsaná funkce je univerzální – dá se použít (zavolat) kdykoliv je potřeba.
-
Funkce bez parametru
-
Funkce s parametrem
-
Funkce se dvěma parametry
Funkce bez parametru
-
nejjednodušší typ funkce
-
Musíme v těle funkce nastavit, jaký objekt tato funkce ovlivňuje (např. pokud funkce má rotovat nějaký objekt, musíme v jejím těle přímo napsat, který).
//zápis funkce function jménoFunkce():void { //Tělo funkce } //volání funkce - aby se vykonala jménoFunkce();
příklad:
function posunAOtoc(mc:MovieClip):void { muj_mc.x +=10; //posune pozici movieclipu doprava muj_mc muj_mc.rotation +=10; //rotuje movieclip muj_mc kolem jeho osy } //volání funkce - bez volání se funkce nespustí posunAOtoc(); posunAOtoc(); //spustí funkci znovu - znovu posune x a rotaci (tj. x bude +20, rotace také)
Funkce s parametrem
-
Tento typ funkce píšeme s jménem parametru a datovým typem parametru – funkce se pak volá s hodnotou parametru.
-
(Tuto funkci můžeme použít pro víc objektů současně bez nutnosti, aby se všechny cílové objekty vypisovaly do jejího těla – cíl nastavíme při volání funkce. Tomu uzpůsobíme typ parametru. Pokud má funkce pracovat s Movieclipy, nastavíme parametr:MovieClip atp.)
-
Parametr tedy funguje jako dočasná proměnná – při napsání funkce stanovíme proměnnou, její hodnotu pak nastavujeme při volání funkce.
– více užívaný typ funkce
function jménoFunkce(jmenoParametru1:Typ):void { //Tělo funkce } //volání funkce - v závorce řekneme hodnotu parametru jménoFunkce(hodnotaParametru1);
příklad pro funkci se stejnými vlastnostmi jako měla předchozí, ale funkce není nastavená pro určitý movieclip – konkrétní cílový movieclip nastavíme až v parametru:
function posunAOtoc(mc:MovieClip):void { mc.x +=10; mc.rotation +=10; } //volání funkce posunAOtoc(Muj_mc); // posune a otočí instanci MovieClipu s názvem Muj_mc posunAOtoc(Cizi_mc); // posune a otočí instanci MovieClipu s názvem Cizi_mc
Funkce se dvěma parametry
function jménoFunkce(parametr1:Typ, parametr2:Typ):void { //Tělo funkce } //volání funkce jménoFunkce(par1,par2);
příklad
Funkce sečti – vypíše součet dvou čísel – parametrů typu Number – „cislo1“ a „cislo2“.
function secti(cislo1:Number, cislo2:Number):void { trace(cislo1+cislo2); } //volání funkce secti(2,4); // cislo1 =2, cislo2 = 4 //v outputu(vytupu) by se vypsalo cislo 6
Funkce s návratovou hodnotou
-
nejkomplexnější typ funkce, může mít více parametrů různých datových typů
-
nastavuje se u ní datový typ návratové proměnné
-
končí tím, že obsahuje klíčové slovo „return“
-
tato funkce se dá sama o sobě použít jako proměnná
function jménoFunkce(parametr1:DatovýTyp,parametr2:DatovýTyp):datovyTypNavratovePromenne { //Tělo funkce return hodnotaNavratovePromenne } //volání funkce jménoFunkce(parametr1,parametr2);
Příklad pro funkci sečti s parametry typu Number cislo1 a cislo2. Chceme aby návratová proměnná této funkce byla taky číslo.
function secti(cislo1:Number,cislo2:Number):Number { //Tělo funkce return cislo1+cislo2 } //volání funkce trace (secti(2,4)); //vypíše 6 trace (secti(2,4)*secti(1,5)); //s funkcí se dá pracovat jako s proměnnou - vypíše 36
Trace
vypíše nám jakoukoliv hodnotu jako text v outputu
Příklad
trace("text")//v závorce se vždy píše, co má trace vypsat - vypíše text trace(2)//- vypíše 2 trace(vek)//- vypíše hodnotu proměnné vek
Příklady funkcí
funkce bez parametru
//x souřadnice roste doprava, klesá doleva //Y rouřadnice roste solu, klesá nahoru function posunKure(){ kure1_mc.x+=10; } posunKure();
funkce s parametrem
//x souřadnice roste doprava, klesá doleva //Y rouřadnice roste solu, klesá nahoru function posunKure(jmenoKurete:MovieClip){ jmenoKurete.y-=1; } posunKure(kure1_mc); posunKure(kure2_mc);
funkce s dvěma parametry
//rotace +1 otáčí po směru hodinových ručiček //rotace -1 otáčí proti směru hodinových ručiček function posunKure(jmenoKurete:MovieClip,jmenoKurete2:MovieClip){ jmenoKurete.rotation-=2; jmenoKurete2.rotation+=2; } posunKure(kure4_mc,kure5_mc);
Napsat komentář
Pro přidávání komentářů se musíte nejdříve přihlásit.