Pirmoji klasė ( class )
// July 28th, 2008 // AS3
Sukūriau savo pirmąją AS3 klasę. Klasė skirta paprastiems flash objektams piešti, naudojant flash standartinius metodus ir funkcijas. Taip pat pabandysime šiandien ją išnaudoti.
Visų pirmą susikurkite ActionScript failą ( Main.as ) o ne Flash dokumetą. Įrašome klasės skydą ( package ), atsiminkite kad Klasės pavadinimas turi sutapti su Failo vardu:
package {
import flash.display.MovieClip;
public class Main extends MovieClip {
public function Main() {
}
}
}
p.s. Tie kas naudoją FLASH CS3, reikia atlikti sekanti veiksmą: susikurti Flahs Dokunetą (AS3), ir į Document Class laukelį irašyti klasės failo pavadinimą be galūnės.

.fla ir .as kalsė, šiuo atveju turi būti vienoje direktorijoje.
Taigi po eilutės:
import flash.display.MovieClip;
pridedame dar vieną eilute importuojame dirbtinę klasę ( klasės veikimo principą, aprašymą rasite prikabintuose failuose, straipsnio apačioje ):
import ifmi.graph.MyObject;
po to kai klasė yra importuota, apsirašome naują kintamąjį:
public var drawing : DrawObject;
Šioje stadijoje objektas dar nėra sukurtas. Jis bus kūriamas tada kai bus reikalingas:
drawing = new DrawObject ( "square", false, 1, 0x336699, 40 );
mes turime sukurtą objektą, bet jo Stag’e nerodys. AS3 mano nuomone yra labai protingai padaryta kad kiekvienam kintamajam ar objektui yra priskirta sekančia seka:
- Aprašymas
- Sukūrimas
- Panaudojimas
Tai leidžia laisvai jais manipuliuoti. Mes jau apsirašėme objeką, ji sukūrėme, beliko tik panaudoti:
addChild ( drawing );
Kadangi mes pradžioje extendinome MovieClip’ą kuris yra .fla failo root’e tai addChild ten ir suveiks, bei įkels mūsų piešinį.
Bendra package’o ( skydo ) struktūra atrodo sekančiai:
package {
//šioje vietoje yra importuojamos visos klasės kurios bus naudojamos
public class Main extends MovieClip {
//šioje vietoje yra aprašomi kintamieji kurie bus naudojami
public function Main() {
}
//čia taip pat galime aprašyti kintamuosius
}
}
Parsisiųsti: ifmi.drawObject
p.s. jeigu kas nors dirbęs daugiau su klasėm, prašau pakomentuokitę šią, ar struktūra bloga? ar reikėjo kur nors naudoti static? ar dar kas nors. Ačiū.

Siaip galima butu figuru tipams (kvadratas, staciakampis ir t.t) Galima butu bent konstantas skirti.
public static SQUARE:String = “SQUARE”;
ir t.t.
Ir tada geriau switch’e naudoti kosntantas.
Siaip kaikurie zmones teigia, kad apskritai pamaciuos switch’a OOP tai pirmiausiai reikia pamastyti apie polimorfizma ;]
man buvo tokia idėja kilus, bet tada kur reikės adresuoti
addChild? nes static’e ten kažkaip kitaip reikia.