Flash Help
Flash
ActionScript
P°φklady





Webmaster

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


W3C Validita

      HTML 4.0 validnφ




Objekty - ·vod

Objekt je element slou₧φcφ k zφskßnφ n∞jak²ch informacφ nebo k nastavenφ n∞jak²ch vlastnostφ. Nap°φklad objekt Date() obsahuje informace o aktußlnφm Φase a datumu. Drtivß v∞tÜina p°ednastaven²ch objekt∙ ve Flashi mß svΘ metody (methods). Jsou to vlastnφ funkce definovanΘ objektu.
Nap°φklad metoda getMonth() vytßhne z objektu Date() Φφslo aktußlnφho m∞sφce. Metoda getMilisecond() zase zφskß poΦet milisekund, atd...

V∞tÜina objekt∙ mß sv∙j konstruktor. To je funkce, kterß vytvo°φ objekt. M∙₧eme si to p°edstavit jako funkci, kterß vytvo°φ instanci p°ednastavenΘho objektu v naÜφ animaci. Abychom tedy mohli pracovat s naÜφm objektem Date(), je nutnΘ jej nejprve vytvo°it pomocφ konstruktoru new:
datum = new Date();

hodiny = datum.getHours();
minuty = datum.getMinutes();
sekundy = datum.getSeconds();
milisekundy = datum.getMiliseconds();

Zde je tedy vytvo°en objekt typu Date() s nßzvem "datum". Dßle jsou definovßny prom∞nnΘ "hodiny", "minuty",...atd jako metody objektu "datum".



Krom∞ metod m∙₧e mφt objekt i vlastnosti. Nap°φklad objekt Sound()

zvuk = new Sound();
zvuk.attachSound("potlesk");

zvuk.start();

delkazvuku = zvuk.duration;

Zde je vytvo°en objekt Sound() s nßzvem "zvuk" a je mu p°id∞len zvuk z knihovny s nßzvem "potlesk". Nßsleduje metoda start() kterß spustφ zvuk. Nakonec je vlastnost duration (dΘlka) ulo₧ena do prom∞nnΘ "delkazvuku".

 

 

╪φkal jsem, ₧e v∞tÜina objekt∙ mß konstruktor. N∞kterΘ ho ale nemajφ. B²vajφ to v∞tÜinou "hmotnΘ" objekty (Button, MovieClip, TextField,...). Tyto objekty jsou ji₧ vlastn∞ vytvo°eny tφm, ₧e je umφstφme na scΘnu a pojmenujeme. Naopak imaginßrnφ objekty (Date, Sound, Color, Array) existujφ jen v k≤dovΘ podob∞ a je tedy nutnΘ je vytvo°it pomocφ konstruktoru.

Nap°φklad objekt Button

tlacitko1.enabled = false;

Tento zßpis edituje vlastnost  enabled na nepravda. TlaΦφtko s nßzvem "tlacitko1" tedy nep∙jde zmßΦknout. PovÜimn∞te si, ₧e nenφ nutnΘ pou₧φt konstruktor - tlaΦφtko u₧ existuje na scΘn∞.




Vlastnφ objekt

Krom∞ p°eddefinovan²ch objekt∙ je mo₧nΘ vytvo°it i vlastnφ objekt.

Nejprve je nutnΘ vytvo°it Konstruktor objektu. Nenφ to nic vφc, ne₧ obyΦejnß funkce, jejφ₧ nßzev je shodn² s nßzvem objektu, kter² bude vytvß°et, tak₧e nap°φklad:

function Kruh() {

        this.addProperty("polomer",getRadius, setRadius);

        function getRadius() {

                  return radius;
        }
		
        function setRadius(hodnota) {

                  radius = hodnota;
        }

        this.getArea = function() {

                  area = Math.PI * radius * radius;
                  return area;
        }

}

Zde je definovßna konstrukΦnφ funkce Kruh(). Uvnit° je nejprve definovßna vlastnost "polomer". K tΘto vlastnosti musφ b²t p°ipojeny 2 funkce. Jedna (getRadius) zφskßvß hodnotu vlastnosti a druhß (setRadius) vlastnost nastavuje.

Funkce getRadius() pouze vrßtφ hodnotu prom∞nnΘ "radius". Funkce setRadius() nastavφ hodnotu prom∞nnΘ "radius" na hodnotu argumentu "hodnota".

 

Nakonec jeÜt∞ definujeme metodu, kterß bude vracet obsah kruhu. Metodu m∙₧ete definovat pomocφ p°φkazu Actions->User-Defined Function->method

Uvnit° metody je definovßna prom∞nnß area jako obsah kruhu (PI*radius2). Hodnotu tΘto prom∞nnΘ potom metoda vracφ (return)

Mßme tedy vytvo°en² konstruktor a nynφ m∙₧eme vytvo°it samotn² objekt:

 prvni = new Kruh();

 prvni.polomer = 35;

 vysledek = prvni.getArea();
 

V prvnφm °ßdku je vytvo°en objekt Kruh() s nßzvem "prvni"

Ve druhΘm °ßdku je definovßna vlastnost "polomer" jako 35. Ve t°etφm °ßdku je deklarovßna prom∞nnß "v²sledek" jako v²stup metody getArea().

Prom∞nnß "v²sledek" bude rovna 3848,45

pozn.: Metodu je takΘ mo₧nΘ definovat vn∞ objektu. Potom je nutnΘ pou₧φt tuto syntaxi:

Kruh.prototype.getArea = function() {
           area = Math.PI * radius * radius;
           return area;
}

prototype" je konstrukΦnφ vlastnost ka₧dΘ vytvo°enΘ funkce. VÜechny metody a vlastnosti adresovanΘ prototype p°ejdou po vytvo°enφ objektu do vlastnosti "_proto_" Ka₧dß volanß vlastnost a metoda objektu je potom hledßna v objektu _proto_.

 


Popis p°eddefinovan²ch objekt∙

Pro popis vÜech p°eddefinovan²ch objekt∙ s jejich metodami a vlastnostmi prosφm navÜtivte nßsledujφcφ kapitoly:

  • Objekty "CORE"
    Popis zßkladnφch objekt∙ Flashe, jako Array, Date, Math, String a dalÜφ.
     
  • Objekty "MOVIE"
    Popis objekt∙ pro manipulaci s fyzick²mi prvky scΘny, jako Button, MovieClip, Color, Sound, TextField a dalÜφ.






Nahoru

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