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

Flash-ActionScript - 5. lekceFlash-ActionScript - 5. lekce

 

Flash-ActionScript - 5. lekce

Google       Google       11. 10. 2005       18 314×

Tentokrát se seznámíme s dalším typem proměnné - polem a naučíme se používat cykly. Na závěr je příklad vykreslení tvaru pomocí pole a cyklu...

Reklama
Reklama

Pole

Už znáte několik druhů proměnných - čísla, řetězce, boolean..., každá má svůj typ obsahu. Tady patří i pole (Array). Pole je dalším typem proměnné a obsahuje libovolný počet hodnot, které mohou být námi známých typů (Number, String...). Proto vlastně pole existují - místo mnoha proměných označených například x1, x2, x3, x4... stačí použít pole a používat to tímto způsobem: x[0], x[1]..., mimo to také existují metody, které ulehčují práci s poli. Nejdřív tady uvedu, jak vlastně pole vytvořit:


nazev_pole = []

Jak vidíte, stačí pouze přiřadit k proměnné prázdné pole. Hodnoty se píší do hranatých závorek a oddělují se čárkou. V jednom poli mohou být hodnoty různých typů (i když je to docela nelogické). Většinou se použivají všechny hodnoty stejného typu.


mesice = ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen",
"Červenec", "Srpen", "Zaří", "Říjen", "Listopad", "Prosinec"];

Toto je docela typický příklad - místo zdlouhavého psaní proměnných mesic1="Leden", mesic2="Únor" si jednoduše definujeme pole.

Dobře, hodnoty máme, ale jak je později dostaneme zpět a použijeme? Každá prvek pole má své číslo - pořadí v poli.


mesice = ["Leden", "Únor", "Březen", "Duben", "Květen","Červen", 
"Červenec", "Srpen", "Zaří", "Říjen", "Listopad", "Prosinec"];

trace(mesice[0]);	// Vytiskne Leden
trace(mesice[2]);	// Vytiskne Březen

Jak jste si jistě z příkladu všimli, číslování začíná od nuly, takže první prvek má číslo 0.

Vícerozměrné pole

Ve vícerozměrném poli může prvek pole obsahovat další prvky. Takže například dvourozměrné pole (2D pole) může vypadat takto:


pole = [ [1,2] , [2,3] , [1,4] ]

První číslo udává pořadí v poli, druhé číslo pořadí uvnitř prvku:


pole = [ [1,2] , [2,3] , [1,4] ]

trace(pole[0][1])     //vyriskne 2
trace(pole[2][0])     //vyriskne 1

Cykly

Pomocí cyklů lze opakovat určitý blok kódu, na základě vyhodnocení výrazu. Pokud je pravdivý, cyklus se opakuje a znovu zkouší výraz, tak to jde pořád dokola, dokud je pravdivý. Je několik druhů cyklů, patří k nim for nebo while.

While

Cyklus while má tuto definici:


while(výraz){
//tělo cyklu - příkazy
}

Výrazy si jistě pomatujete z minulé lekce, a proto je už nebudu rozebírat.

Následující příklad zobrazí všechna čísla od 0 do 9:


i = 0;
while(i<10){
    trace(i);
    i++
}

For

Cyklus For má tu vlastnost, že celá deklarace je hned v hlavičce, výhoda je v přehlenosti. V první části se deklaruje proměnná, která se bude porovnávat, v druhé je výraz a nakonec akce, která se vykoná při každém průběhu polem, všechny tři části jsou odděleny ;.


for(i=0;i<10;i++){
    trace(i);
    //stejný efekt jako u while
}

For se také často používá k procházení prvky pole, slouží k tomu operátor in, nenechte se zmást - procházení prvky probíha odzadu.


pole = [0,5,2,3]
for(x in pole){
    //vypíše všechny prvky pole oddělené mezerou - 3 2 5 0
    trace(pole[x]+" ");
}

Do... While

Tento typ je totožný s while, s tím rozdílem, že se výraz vyhodnocuje až na konci.


i = 0;
do {
    i++;
    trace(i);
} while (i<10);

Závěrem

Na závěr zde uvádím příklad použití kombinace cyklu a pole. Tento malý script vykreslí libovolný obrázek podle souřadnic.


 1. pole = [[0, 0], [200, 0], [200, -200],
 2. [0, -200], [100, -300], [200, -200],
 3. [0, -200], [0, 0]];

 4. this.createEmptyMovieClip("tvar", 100);
 5. tvar._x = 200;
 6. tvar._y = 300;
 7. tvar.lineStyle(5,0x0000DD);
 8. for (i in pole) {
 9. 	tvar.lineTo(pole[i][0], pole[i][1]);
 10. }

1. - Souřadnice jsou uvedeny v 2D poli, každý prvek má 2 další hodnoty - x a y souřadnice bodu.
4. - Tímto vytvoříte prázdný movie clip, zatím o tom nemusíte nic vědět, více si o funkcích povíme v příštím díle.
5. 4. - nastaví instanci doprostřed obrazovky.
7. - Nastaví vlastnosti linky, jako u 4. řádku jde o funkci.
8. - Cyklus for, který prochází jednotlivé prvky pole.
9. - Další funkce, která vykreslí linku na určité souřadnice

Na příklad se můžete podívat ve formátu .fla nebo .sfw.

ÚKOL:
Pro dnešek to bude těžší.
Úkolem dnešní lekce bude udělat program, který bude postupně procházet všechny prvky pole a bude je mezi sebou postupně násobit, dělit, sčítat a odčítat, z toho vyplývá, že to budou muset být čísla. Pro ty, co neví:
Bude například pole 2,3,4,1... Program vynásobí čísla 2 a 3, výsledek vydělí čtyřmi, přičte 1 atd.

Úkoly určitě dělejte, pouhé přečtění většinou nestačí, pokud si s úkolem nevíte rady, stačí napsat do Poradny.

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

3 názory  —  3 nové  
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ý