Flash Help
Flash
ActionScript
P°φklady





Webmaster

      Martin Hozφk
      hozikm@seznam.cz
      ICQ: 323756613


W3C Validita

      HTML 4.0 validnφ




Prom∞nnΘ

Co je to prom∞nnß?

Prom∞nnou si lze p°edstavit jako krabici s urΦit²m nßzvem ve kterΘ je ulo₧ena urΦitß informace. Hodnotu prom∞nnΘ m∙₧eme m∞nit.

Pozn.: Ve Flashi se p°ed prom∞nnou nepφÜe "$" (jako v PHP nebo JavaScriptu). Pokud napφÜete neΦφseln² v²raz bez uvozovek, je chßpßn jako prom∞nnß. Jen dodßm, ₧e nßzev prom∞nnΘ nesmφ zaΦφnat Φφslem a nesmφ obsahovat nepovolenΘ znaky: / \ : * ? " < >.



Globßlnφ a lokßlnφ prom∞nnΘ

  • Lokßlnφ prom∞nnß
    Existuje jen ve svΘm bloku k≤du (mezi slo₧en²mi zßvorkami) - nap°φklad uvnit° funkce nebo smyΦky. Dost Φasto se pou₧φvß pro kontrolu opakovßnφ smyΦky. Kdy₧ jsou p°φkazy vykonßny, p°estane prom∞nnß existovat. Jejφ deklarace vypadß takto:
    var pozdrav = "ahoj"

  • Globßlnφ prom∞nnß
    Existuje ve vÜech Φasov²ch osßch. vlo₧φte ji p°φkazem SetVariable. Zßpis vypadß takto:
    pozdrav = "ahoj"


Obsah prom∞nnΘ

Obsah prom∞nnΘ m∙₧e mφt 3 druhy:

  • Text
    Textov² obsah prom∞nnΘ je nutno uzav°φt do uvozovek. M∙₧e obsahovat i Φφslice, kterΘ jsou vÜak chßpßny jako text.
    pozdrav = "ahoj"
    pozdrav = "479087"
    
  • ╚φslo
    ╚φseln² obsah prom∞nnΘ je nutno definovat bez uvozovek. (u pole "value" zaÜkrtn∞te "Expression")
    cislo = 4533
  • Booleovskß funkce
    Booleovskß funkce se takΘ definuje bez uvozovek a m∙₧e nab²vat jen dvou hodnot: true (pravda) a false (nepravda). Stejn² v²znam mß takΘ bitov² zßpis 1 a 0
    test = true

Je velmi d∙le₧itΘ sprßvn∞ definovat obsah prom∞nnΘ, proto₧e to pak mß velk² vliv na dalÜφ zpracovßnφ. Malß ukßzka:



  • a = 15;
    b = 30;
    vysledek = a+b;
    

    - prom∞nnß "vysledek" bude mφt hodnotu "45"


  • a = "15"
    b = "30"
    vysledek = a+b;
    

     - prom∞nnß "vysledek" nynφ bude mφt hodnotu "1530" !!



P°i zpracovßvßnφ prom∞nn²ch se Flash sna₧φ automaticky p°izp∙sobit typ prom∞nnΘ danΘ operaci. Pokud nap°φklad sΦφtßte textov² °et∞zec s Φφslem v²sledkem bude v₧dy textov² °et∞zec.

N∞kdy je vÜak nutnΘ p°esn∞ definovat, jak mß Flash chßpat obsah prom∞nnΘ. Pro tyto ·Φely existujφ funkce Number(), String() a Boolean()


a = 38;
b = 15;
vysledek = Number(a) + Number(b);

- prom∞nnß "vysledek" bude mφt hodnotu "48"



a = 38;
b = 15;
vysledek = String(a) + String(b);

- prom∞nnß "vysledek" bude mφt hodnotu "3815"




Pou₧itφ prom∞nn²ch

Prom∞nnΘ je mo₧no pou₧φt prakticky kdekoliv mφsto samotnΘ hodnoty. P°φklad:

snimek = 38;
GotoAndPlay(snimek);

- animace p°ejde na snφmek 38



Pokud chceme definovat obsah jednΘ prom∞nnΘ jako obsah druhΘ, uvedeme jejφ hodnotu jako nßzev druhΘ prom∞nnΘ a neuzavφrßme jej do uvozovek (zaÜkrtnout "Expression")

a = "ahoj";
b = a;

- prom∞nnß "b" bude mφt te∩ takΘ hodnotu "ahoj"

Je mo₧nΘ pou₧φvat vÜechny matematickΘ operßtory pro manipulaci s prom∞nn²mi. Op∞t platφ, ₧e nßzvy prom∞nn²ch se neuzavφrajφ do uvozovek. Pokud chceme k prom∞nnΘ nap°φklad p°iΦφst n∞jak² textov² °et∞zec, uzav°eme jej do uvozovek (aby nebyl chßpßn jako prom∞nnß):

a = "nazdar"
b = a + "ahoj"

- prom∞nnß "b" bude mφt te∩ hodnotu "nazdarahoj"



Formulß°

Asi jste si vÜimli, ₧e p°i vklßdßnφ textu do animace je mo₧no namφsto statickΘho vlo₧it i dynamic a input text.

Input a Dynamic text pracujφ prakticky na stejnΘm principu. Oba dva musφ mφt v poli "Var:" definovan² nßzev prom∞nnΘ, kter² potom zobrazujφ. Hlavnφ rozdφl t∞chto dvou typ∙ textu je, ₧e Dynamic text hodnotu pouze zobrazuje a Input text ji dovoluje i m∞nit (jako ve webovΘm formulß°i).

Polo₧ka "Maximum Characters" urΦuje kolik znak∙ formulß° dovoluje zobrazit.

TlaΦφtko "Characters" nastavuje jakΘ znaky majφ b²t "p°ibaleny" do animace, nebo zda majφ b²t pou₧itΘ fonty aktußlnφho poΦφtaΦe.

TlaΦφtko "Selectable" zapφnß mo₧nost vybrßnφ textu kurzorem. (i input textu v₧dy aktivnφ).

DruhΘ tlaΦφtko zapφnß HTML formßtovßnφ. Pokud je tato volba zapnuta a obsah prom∞nnΘ obsahuje HTML tagy <b><a><i><font color=... size=... face=...><p><u> je text zformßtovßn podle podle nich. Ostatnφ tagy budou ignorovßny.

Poslednφ tlaΦφtko zapφnß ohraniΦenφ a v²pl≥ textovΘho pole.


Atributy textovΘho pole



Dßle je mo₧no urΦit zda mß mφt formulß° jeden (single line) nebo vφce °ßdk∙ (multiline), zda se nemajφ zalamovat (multiline no wrap), nebo zda mß b²t psan² text nahrazen hv∞zdiΦkami (password).

Typ textovΘho pole




DatovΘ pole (Array)

Array (=pole, sada, seskupenφ) by se dalo p°irovnat k prom∞nn²m. Narozdφl od prom∞nn²ch vÜak neobsahuje jednu hodnotu, ale vφce separovan²ch hodnot, kterΘ jsou oΦφslovßny (index).

Je pot°eba si uv∞domit, ₧e Array je objekt a pot°ebuje tedy konstruktor (viz objekty). Mal² p°φklad:

 pole = new Array("a", "b", "c", 14, "ahoj");

Zde jsme tedy definovali objekt Array s nßzvem "pole". PovÜimn∞te si, ₧e naÜe pole mß 5 hodnot. D∙le₧itΘ je, ₧e polo₧ky jsou Φφslovßny (index) od nuly (0, 1, 2...). Pokud bychom tedy cht∞li n∞kde pou₧φt nap°φklad 4. hodnotu (index = 3) vypadalo by to takto:

gotoAndPlay(pole[3]);

Animace by takto p°eÜla na snφmek 14

Hodnoty polo₧ek v poli jdou vÜak takΘ editovat:

 pole[4] = "Φau";
 pole[8] = "nazdar"

Prvnφ p°φkaz p°epsal hodnotu poslednφ polo₧ky "ahoj" na hodnotu "Φau". Druh² p°φkaz definoval 8. polo₧ku jako °et∞zec "nazdar".

Asi te∩ namφtnete, ₧e polo₧ky s indexy 5, 6 a 7 nejsou definovßny. Prßv∞ naopak. Pokud vlo₧φte v poli hodnotu do indexu, p°ed kter²m jsou nedefinovanΘ indexy, vyplnφ se tyto prßzdn²mi °et∞zci (""). PoΦet prvk∙ je tedy te∩ 9.

DΘlku pole (poΦet prvk∙) zjistφte vlastnostφ  - pole.length

Je takΘ mo₧nΘ vytvo°it pole s urΦit²m poΦtem prßzdn²ch polo₧ek:

 pole = new Array(5);

Metody objektu Array:

contact spojuje pole dohromady a prvky se°adφ za sebe:

 pole1.contact(pole2, pole3, ...)

join vypφÜe obsah pole jako °et∞zec a vlo₧φ mezi polo₧ky separßtor uveden² v zßvorce:   pole.join("+")
pop odstranφ poslednφ prvek z pole a vypφÜe jeho hodnotu:

promenna = pole.pop()

push P°idß prvky na konec a vypφÜe novou dΘlku pole:

promenna = pole.push("hruÜky", "jablka")

reverse P°evrßtφ po°adφ prvk∙:   pole.reverse()
shift Odstranφ prvnφ prvek a vypφÜe jeho hodnotu:

promenna = pole.shift()

slice Vy°φzne Φßst pole a udß jej jako novΘ pole:

pole.slice(2,5) ... bude vy°φznut 2. - 5. prvek

sort Se°adφ prvky pole bu∩ podle velikosti, nebo pomocφ funkce
sortOn Se°azenφ podle nßzvu prvku
splice odstra≥uje/p°idßvß prvky:

pole.splice(2,5,"nov²1", "nov²2",...)   bude odstran∞no 5 prvk∙ od prvku 2 a od tohoto mφsta budou vlo₧eny prvky "nov²1" a "nov²2"

toString vypφÜe hodnoty prvk∙ odd∞lenΘ Φßrkami
unshift Vlo₧φ prvky na zaΦßtek a vypφÜe novou dΘlku pole:
pole.unshift("prvnφ", "druh²", "t°etφ")






Nahoru

Copyright ⌐ Martin Hozφk - All rights reserved.
Flash are registered trademark of Macromedia Inc.