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

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 Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

Reklama
Reklama
Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

Konference: Mobilní technologie mají velký potenciál pro byznys

Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

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.

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ý