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       17 677×

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

Reklama
Reklama
Obrázek ke článku Blockchain & Bitcoin konference

Blockchain & Bitcoin konference

V pátek 19. 5. 2017 se v pražském konferenčním centru Andel’s konala Blockchain & Bitcoin konference. Řada odborníků a podnikatelů v oboru blockchainu a kryptoměn představila možnosti budoucího směřování tohoto oboru. Speakeři většinou rusky mluvící provenience prezentovali řešení svých firem založená na technologii blockchainu.

Obrázek ke článku Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

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ý