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

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

 

Flash-ActionScript - 4. lekce

Google       Google       8. 9. 2005       17 389×

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 Nový IT hráč na českém trhu

Nový IT hráč na českém trhu

V roce 2015 otevřela v Praze na Pankráci v budově City Tower své kanceláře společnost EPAM Systems (NYSE:EPAM), jejíž centrála se nachází v USA. Společnost byla založená v roce 1993 a od té doby prošla velkým vývojem a stále roste.

Reklama
Reklama
Obrázek ke článku České Radiokomunikace opět hledají nejlepší nápady pro internet věcí

České Radiokomunikace opět hledají nejlepší nápady pro internet věcí

České Radiokomunikace (CRA) pořádají druhý ročník CRA IoT Hackathonů. Zájemci z řad vývojářů a fanoušků moderních technologií mohou změřit své síly a během jediného dne sestrojit co nejzajímavější funkční prototyp zařízení, které bude komunikovat prostřednictvím sítě LoRa. CRA IoT Hackathony se letos uskuteční ve dvou fázích, na jaře a na podzim, v různých městech České republiky. Jarní běh se odstartuje 31. března v Brně a 7. dubna v Praze.

Obrázek ke článku Cloud computing je využíván stále intenzivněji

Cloud computing je využíván stále intenzivněji

Využívání cloud computingu nabývá na intenzitě. Jen v letošním roce vzroste podle analytiků trh se službami veřejného cloudu o 18 %, přičemž o téměř 37 % vzrostou služby typu IaaS. Růst o více než pětinu pak čeká služby poskytování softwaru formou služby, tedy SaaS. Aktuálním trendům v oblasti využívání cloudu se bude věnovat konference Cloud computing v praxi, která se koná 23. března. 2017 v pražském Kongresovém centru Vavruška na Karlově náměstí 5.

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ý