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

Flash-ActionScript - 4. lekceFlash-ActionScript - 4. lekce

 

Flash-ActionScript - 4. lekce

Google       Google       8. 9. 2005       16 968×

Dnes si zopakujeme znalosti z minulých lekcí a seznámíme se s podmínkami...

Reklama
Reklama
V minulé lekci jsme zjistili, že můžeme událostmi ovlivňovat, kdy se náš kód ActionScriptu spustí. To dodává interaktivitu, ale v některých případech to nestačí.

Podmínky

Podmínka je příkaz, pomocí něhož lze vyhodnotit výraz a na základě toho vykonat další akce, které se ohraničují složenými závorkami. Výraz v programování je podobný výrazu v matematice a může být pouze pravdivý (true), nebo nepravdivý (false) - to jsou hodnoty typu Boolean (viz předešlá lekce). Pokud je pravdivý, vykonají se příkazy v následujícím bloku kódu (ohraničeném složenými závorkami). Obecný kód podmíny je tento:

if(výraz){
    příkazy
}
První příkaz je již zmiňované if, které značí podmínku, v závorce za ním je výraz, pokud je pravdivý vykoná se následující akce (příkazy).

Výrazy

Ve výraze můžeme porovnávat dvě čísla:
6 > 1
5 < 2
Jak jistě víte první výraz je pravdivý - 6 je větší než 1, ale druhý ne. K porovnávání nám slouží operátory porovnání, mezi ně také patří větší než (>) a menší než (<) z příkladu. V tabulce jsou uvedeny všechny základní operátory porovnávání:
< Menší než
<= Menší nebo rovno
> Větší než
>= Větší nebo rovno
== Rovná se
!= Nerovná se

Pro lepší pochopení podmínek je dobré si uvědomit, co se vlastně děje uvnitř. Když napíšete 6>2, co se stane? Program vyhodnotí zda je to pravda nebo není. Pokud je výraz pravdivý, místo výrazu dosadí hodnotu true, jestliže je hodnotu false - to si můžete ověřit tímto:

trace(6>2);		//vytiskne true
trace(6<2);		//vytiskne false
Podmínky jenom s porovnáváním čísel nekončí. Lze porovnávat také například řetězce, u kterých se počítá číselná hodnota znaků. Větší hodnotu mají znaky, které jsou později v abecedě.

trace("ABC" < "DEF" );	//true
trace("To stejné" == "To stejné")	//true
trace("6" == 6)		//true

else

Příkazem else můžeme určit akci, která se vykoná, pokud podmínka pravdivá není.

if(5>10){
    trace("Pět je větší než deset!")
}else{
    trace("To není pravda")
}
V tomto případě program první akci přeskočí, protože výraz není pravdivý a vykoná kód za else - vytiskne text "To není pravda".

Proměnné

Podmínky s čísly jsou ale docela zbytečné, protože pokaždé dopadnou stejně, jsou užitečné až tehdy, když použijeme proměnné:

a = 6;
b = 5;
if(a>b){
    trace("a je větší než b");	//Vykoná se tato možnost
}else{
    trace("a je menší nebo rovno b"); 	
}
Vnořené podmínky Podmínky mohou obsahovat další podmínky, říká se tomu větvení. Nejlépe si to vysvětlíme na tomto příkladě, který je rozšířením toho předešlého:

a = 6;
b = 6;
if (a>b){
    trace("a je větší než b");	
}else{
    if (a<b){
        trace("a je menší než b");
    }else{
        trace("a se rovná b");	//Vykoná se tato možnost
    }
}
Tento příklad je to trochu složitější. Nejprve se porovná, jestli je a>b, pokud ne, program skočí na 6. řádku, zbývají 2 možnosti - a<b a a==b, další podmínka porovná první možnost a pokud není pravdivá, zbývá poslední varianta a program skočí na 9. řádku.
Ve vnořených podmínkách se pro zjednodušení může používat příkaz else if :

if (a>b) {
    trace("a je větší než b");
} else if (a<b) {
    trace("a je menší než b");
} else {
    trace("a se rovná b"); 	//Vykoná se tato možnost
}

Logické operátory

Logické operátory se používají v podmínkách, pokud chceme použít ve výrazech logickéch vztahy. Tady jsou:
OperátorSlovemPopis
&& a zároveň Logické AND: Vrací true, pouze pokud je levá i pravá strana pravdivá.
|| nebo Logické OR: Vrací true, pokud je alespoň jedna strana pravdivá.
!Výraz  Logické NOT: Vrací logický opak - boolean.

Co to znamená v praxi? Pojďme si ukázat několik příkladů.

x = 5;
y = 8;
//pravdivá podmínka, příkazy v složených závorkách se vykonají.
if(x>3 && y>6){ 	
...
}

//nepravdivá podmínka - jedna strana není pravdivá,
// vykonají se příkazy v else
if(x>3 && y>9){ 	 
...
}else{
...
}
Operátor ! obrátí návratovou hodnotu (jak jsem psal výše - true, nebo false).

x = 1;
if (!(x == 1)) {	
...		
}
//Normálně by se podmínka vyhodnotila kladně, 
//ale protože je před výrazem !, výsledek se převrátí, 
//takže místo true vrátí false => výraz je nepravdivý.
POZOR: pokud byste napsali !x == 1, nebude to fungovat protože ! má větší prioritu než ==.
Můžeme samozřejmě použít i více operátorů najednou, taktéž lze použít závorky (platí to samé co u aritmetických operací - závorky mají přednost před operátory):

a = 1;
b = 2;
c = 3;
if(a==1 &&  b==2 && (c==2 || c==3)){	//pravdivá podmínka
...
}
Tato podmínka je pravdivá, pokud se a == 1 a zároveň b==2 a zároveň se c==2 nebo se c==3.

Ukázka

Tady je malá ukázka pro ilustraci, ve scéně se nachází input text s proměnnou vek, dynamic text s proměnnou odpoved a tlačítko, které má tento kód:

on(release){	    
    if(_root.vek >= 18){	    
        _root.odpoved = "Přístup povolen.";
    }else{
        _root.odpoved = "Přístup odepřen.";		
    }
}


Po dnešní lekci byste měli vědět, jak tento jednoduchý příklad funguje.
Úkol:
Vytvořte program, ve kterém uživatel zadá do 2 input textů 2 čísla, 
do jiného dynamic textu se vypíše větší hodnota z obou čísel 
a do 2. dynamic textu se jako opakování vypíše součin (násobení) obou čísel.
Hodně zdaru při plnění úkolu.

×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.

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

Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

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 © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý