XML Image Slideshow

January 17th, 2008 hamferus 6 comments

U današnjem actionscript tutorijalu napraviti ćemo slideshow koji će učitati eksterne slike, a adresa do slika bit će pohranjena u xml-u. Ja ću koristit četiri slike.

1. Napravite folder u kojem ćemo snimit xml, flash dokument i u kojem će se nalazit naše slike

2. Kreirajte xml dokument u bilo kojem text editoru(notepad, notepad ++ ,itd.)

Otvorite svoj text editor i kopirajte ovaj kod i snimite fajl pod imenom "xmlSLideshow.xml":

1
2
3
4
5
6
<slideshow>
<slika adresa="image001.jpg">
<slika adresa="image002.jpg">
<slika adresa="image003.jpg">
<slika adresa="image004.jpg">
</slika></slika></slika></slika></slideshow>

slideshow je rootNode u xml-u
slika je childNode u xml-u
adresa je atribut unutar slika childNode-a

3. Nađite 4 slike i stavite ih u isti folder s xml-om, promijenite imena slika u adresa atributu da budu isti kao i imena vaših slika.
4. Otvorite Adobe Flash CS3 i kreirajte novi Flash dokument(actionscript3.0) i snimite ga u folder s xml-om i slikama.
5. Zaključajte prvi layer i preimenujte ga u actions
6. Kliknite na prvi frame actions layera i otvorite actions panel(F9)
7. Krenite kodirat :)

Prvo moramo deklarirati dvije variable currentImage i urlArray. CurrentImage je broj koji ćemo povećavat kad se pokrene tajmer i on će određivat koja slika se učitava, a početna vrijednost mu je 0. UrlArray je array koji će bit popunjen s adresama do slika unutar for loopa kad se xml učita.

1
2
var currentImage:Number = 0;
var urlArray:Array = new Array();

Sad moramo definirati XML, URLRequest(adresa do xml fajla) i URLLoader variablu koja ima jedan agument(URLRequest,tj. adresu do xml fjla). Kod server-side skripti i xml-a koristi se URLLoader, a ne Loader kao kod eksternih fajlova. Nakon što smo definirali te tri variable xmlLoaderu moramo dodati eventListener koji osluškuje kad je naš xml učitan. Ako imate veliki xml fajl proces učitavanja je isti kao kod externih fajlova.

3
4
5
6
var myXML:XML = new XML();
var xmlRequest:URLRequest = new URLRequest("xmlSlideshow.xml");
var xmlLoader:URLLoader = new URLLoader(xmlRequest);
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);

Unutar xmlLoaded funkcije prvo moramo popuniti xml variablu koju smo definirali izvan funkcije s podacima koje smo dobili nakon što je xml učitan. Nakon toga pokrećemo for loop. U for loopu provjeravamo koliko ima childNode-ova s imenom "slika" i ovisno o tome povećavamo broj "i", a svaki put kad povećamo broj "i" popunimo urlArray s podatkom iz "adresa" atributa u "slika" childNode-u. Nakon što smo popunili urlArray i završili s for loop-om pokrećemo funkciju initSlideshow() koja pokreće naš slideshow.

function xmlLoaded(e:Event):void
{
myXML = XML(e.target.data);
for(var i:uint = 0; i<myXML.slika.length();i++)
{
urlArray.push(myXML.slika[i].@adresa);
}
initSlideshow();
}
Prije nego napišemo initSlideshow() funkciju moramo definirati Loader i URLRequest pomoću kojih ćemo učitati slike, pozicionirati Loader na sredinu animacije i dodati Loader na display listu. Za razliku od tutorijala u kojem sam vam pokazao kako učitati sliku ovdje ćemo ostavit URLRequest prazan jer ćemo adresu definirati unutar initSlideshow() funkcije.

18
19
20
21
22
var imageLoader:Loader = new Loader();
var imageRequest:URLRequest = new URLRequest();
imageLoader.x = stage.stageWidth/2 - 200;
imageLoader.y = stage.stageHeight/2 - 150;
addChild(imageLoader);

Unutar initSlidshow() funkcije prvo moramo URLRequest-u dodati adresu do prve slike. Adresa se nalazi u urlArrayu na prvoj poziciji. U array-ima prva pozicija je nulta(0) pozicija i zato smo currentImage broj postavili na nula kad smo ga definirali na početku skripte. Nakon toga učitamo sliku pomoći Loader-ove load() funkcije koja ima jedan argument(URLRequest). Slike ćemo mjenjat pomoću tajmera i svaki put kad se tajmer pokrene(svakih 5 sekundi) pozvat ćemo changeImage() funkciju.

23
24
25
26
27
28
29
30
function initSlideshow():void
{
 imageRequest = new URLRequest(urlArray[currentImage]);
 imageLoader.load(imageRequest);
 var mT:Timer = new Timer(5000);
 mT.start();
 mT.addEventListener(TimerEvent.TIMER, changeImage);
}

Svaki put kad pozovemo changeImage() funkciju(svakih 5 sekundi) povećavamo currentImage broj. Pomoću if statmenta provjerit ćemo dal je currentImage broj veći od ukupnog broja childNode-a. Pošto imamo 4 childNoda ali prvi je nula(0) onda ih ima 0,1,2 i 3 tako da ako currentImage isti kao broj 4 mi moramo resetirat currentImage broj na 0. Tako smo dobili slideshow koji ide u krug. Da bi se slika promijenila moramo promijenit URLRequest argument(adresu) i pokrenuti load() funkciju s novom adresom.

31
32
33
34
35
36
37
38
39
40
function changeImage(e:TimerEvent):void
{
 currentImage++;
 if(currentImage == 4)
 {
 	currentImage = 0;
 }
 imageRequest = new URLRequest(urlArray[currentImage]);
 imageLoader.load(imageRequest);
}

Primjer:

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Source Fajlovi - .fla, .xml i slike

Imam nekih problema s pokazivanjem koda u dijelu gdje se nalazi for loop, pa vas molim da downloadate source fajlove da vidite kako bi trebao izgledat kod u tom djelu.
Pozdrav do sljedećeg tutorijala.

Loading & Preloading - Učitavanje i pred učitavanje eksternih fajlova u Flash

January 11th, 2008 hamferus 2 comments

Vidim ima nestrpljivih, pa evo još jednog tutorijala. U ovom tutorijalu bum vam pokazal kako učitati eksterne fajlove u flash s actionscriptom. Ovo šta bum vam pokazal vrijedi za tipove fajlova .swf, .jpg, .png i .gif format. U actionscriptu 2.0 obično se koristio MovieClipLoder kojeg sad više nema u actionscriptu 3.0. U actionscriptu 3.0 koristimo Loader i URLRequest Class.

1. Otvorite novi Adobe Flash CS3 dokument(actionscript3.0)

2. Snimite taj fajl u folder po vašoj želji

3. Nađite sliku koja ima težinu(500kb - 1mb) i kopirajte ju u folder gdje ste snimili Flash dokument. Slika koju ja koristim je teška 2 magebajta

4. U Flashu zaključajte i preimenujte prvi layer u actions

5. Kliknite na prvi frame actions layera i otvorite actions panel(F9)

6. Počmite kodirat :)

Prvo tebamo definirati URLRequest variablu koja ima jedan argument, a on je adresa do fajla koji učitavamo. Vi promijenite "slika.jpg" u ime vaše slike.

1
var imageRequest:URLRequest = new URLRequest("slika.jpg");

Sad moramo definirati Loader varijablu. Ono kaj je učitano u loader dodaje se automatski na njegovu display listu.

2
var imageLoader:Loader = new Loader();

Još moramo pokrenuti učitavanje s load() metodom koja ima jedan argument a on je URLRequest.

3
imageLoader.load(imageRequest);

Na kraju moramo dodati Loader na display listu.

4
addChild(imageLoader);

Testirajte film(Ctrl+Enter) i trebali bi vidjeti sliku koju ste odabrali.

Kako vidite uopće nije teško učitati fajl u flash, ali mi tu ne stajemo jer ćemo sad napravit i pred učitavač(koje glupo ime al neznam drukčije) koji će nam pokazati postatak učitanog fajla.

Prvo bumo iskoristili tutorijal o TextField-u da pokažemo taj postotak loadanog fajla. Tekstualno polje bumo napravili izvan funkcije, a unutar ćemo mu dodjeliti jednadžbu za izračunavanje učitanog postotka.

5
6
7
8
var tekstUcitanog:TextField = new TextField();
tekstUcitanog.x = 100;
tekstUcitanog.y = 350;
addChild(tekstUcitanog);

Uz Loader Class za progres učitavanja bumo koristili LoaderInfo Class jer u njemu se nalazi informacija o loadanom fajlu(veličina fajla(kb), širina, visina,itd.) i s njim možemo možemo pratit progres učitavanja. LoaderInfo netreba bit dodan ko variabla.
Do podataka možemo doć na dva načina:
1. loaderInfo - osobine učitanog fajla
2. contentLoaderInfo - osobine učitavanja fajla
Mi bumo koristili contentLoaderInfo jer iz njega možemo saznat kad je učitavanje završilo i informacije o pregresu učitavanja.
Sad moramo dodati dva eventListenera, a to su ProgressEvent.PROGRESS koji je aktiviran za vrijeme samog učitavanja i Event.COMPLETE koji na daje informaciju da je fajl učitan.

9
10
imageLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadingProgress);
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComlpete);

Sad ćemo napisat funkciju koja se poziva tokom progresa učitavanja i iskoristit ćemo ukupni broj bajtova i broj učitanih fajlova iz contentLoaderInfo-a(target) da dobijemo učitani postotak fajla. Jednadžba koju ćemo koristit glasi:
broj učitanih bajtova podjeljen s ukupnim brojem bajtova pomnožen s 100 da dobijemo postotak

ucitaniBajtovi/totalniBajtovi * 100

Ali pošto taj broj ima decimale, a mi ih netrebamo zaokružit ćemo taj broj na cijeli broj s Math.round() funkcijom. Unutar funkcije definitat ćemo tri variable:
1. ucitaniBajtovi - broj
2. totalniBajtov - broj
3. postotakUcitanog - broj koji ćemo dobit izračunavanjem jednadžbe za dobivanje postotka učitanog
Pa ćemo postotakUcitanog dodati tekstualnom polju koje smo napravili maloprije i dodat ću simbol
postotka(%) tako da u tekstualnom polju imamo: broj + %

11
12
13
14
15
16
17
function loadingProgress(e:ProgressEvent):void
{
	var ucitaniBajtovi:Number = e.target.bytesLoaded;
	var totalniBajtovi:Number = e.target.bytesTotal;
	var postotakUcitanog:Number = Math.round(ucitaniBajtovi/totalniBajtovi * 100);
	tekstUcitanog.text = postotakUcitanog + "%";
}

Konačno imamo funkciju koja će nam reć da je učitavanje gotovo. Pošto je moja slika od 10 megapiksela ja ću ju smanjit na 10% njezine veličine nakon šta se učita.

18
19
20
21
22
function loadComlpete(e:Event):void
{
	imageLoader.scaleX = 0.1;
	imageLoader.scaleY = 0.1;
}

Sad testirajte svoj film i u prozoru koji vam se otvorio(filmić) Kliknite VIEW/SIMULATE DOWNLOAD da bi vidjeli kako učitani postatak raste od 0 do 100, tu imate još jednu opciju a ona je DOWNLOAD SETTINGS gdje se možete igrati s brzinom kojiom će Flash loadati fajl. Ako ovo ne napravite nebute vidjeli proces učitavanja.

Primjer:

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Dupliciranje objekta pomoću for loop-a

January 9th, 2008 hamferus 6 comments

U ovom actionscript tutorijalu bum vam pokazal kako duplicirati objekt pomoću for loop-a i pomoću ENTER_FRAME eventa bumo animirali nasumično kretanje tog objekta. Naravno naš objekt bu bil famozni zeleni krug.

1. Kreirajte novi Flash CS3 dokument(actionscript 3.0)
2. Zaključajte prvi layer i preimenujte ga u actions
3. Kliknite na prvi frame actions layera i otvorite actions panel(F9)
4. Krenite kodirat :)

Prvo moramo definirati broj krugova. S ovim brojem možete ekperimentirati al nemojte pretjerat da vam se komp ne zablokira. Mi bumo napravili 10 krugova.

1
var brojKrugova:Number = 10;

Sad pišemo for loop koji ima tri argumenta
1. početni broj koji je nula
2. provjeravamo dal je početni broj manji od broja krugova i ako nije idemo na treći argument
3. povećanje početnog broja dok nebude isti ko broj krugova
Unutar for loop-a ćemo nacrtati naš krug i to će ga automatski duplicirati i svakom krugu dodat ćemo ENTER_FRAME event

2
3
4
5
6
7
8
9
10
for(var i:uint = 0; i<brojkrugova;i++)
{
	var mojKrug:Sprite = new Sprite();
	mojKrug.graphics.beginFill(0x009966);
	mojKrug.graphics.drawCircle(0,0,20);
	mojKrug.graphics.endFill();
	addChild(mojKrug);
	mojKrug.addEventListener(Event.ENTER_FRAME, pokreniKrugove);
}

Kad pišemo funkcije koje imaju evente onda unutar zagrade moramo napisat ime i tip eventa. Ime određujemo sami(u mom slučaju to je više manje uvijek e), a tip eventa određuje sami event koji osluškujemo. U ovom slučaju to je obični event pa tu pišemo Event nakon dvotočke. Ako se sjećate tutorijala s Timer Class-om koristili smo TimerEvent nakon dvotočke. Da smo koristili evente koje osluškuju radnju miša(klik, prelaz,itd.) napisali bi MouseEvent. Svaki event ima podatke koje šalje u funkciju i mi ih možemo pročitat i iskoristit u našem kodu. Mi koristimo target podatak i pošto je event dodjeljen krugu naši krugovi su taj target. Pošto smo dodjelili event na mojKrug svi krugovi će dobiti povratnu informacju pomoću target podatka i svaki bu imal svoju nasumičnu x i y poziciju. Ako napišemo mojKrug.x ili mojKrug.y samo jedan krug bi se pomical. Najbolje je da probate i promijenite "e.target" u "mojKrug" pa budete vidjeli o čemu pričam.

11
12
13
14
15
function pokreniKrugove(e:Event):void
{
	e.target.x = Math.random() * stage.stageWidth;
	e.target.y = Math.random() * stage.stageWidth;
}

Evo i primjera:
(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

TextField i TextFormat

January 7th, 2008 hamferus No comments

U današnjem actionscript tutorijalu objasnit ću vam kako napraviti tekstualno polje, kako ga formatirati i kako mu pridružiti tekst. Odlučio sam se na ovaj tutorijal jer će nam pomoći kod tutorijala koje ćemo raditi u budućnosti, a trebalo bu nam tekstualno polje tako da vidimo na primjerima ono šta bi ja inače radio s trace() funkcijom i ispisivo u output panelu.

Ajmo na posel:
1. Otvorite Flash CS3 dokument(actionscript 3.0)
2. Zaključajte prvi layer i preimenujte ga u actions
3. Kliknite na prvi frame actions layera i otvorite actions panel (F9)
4. Krenite kodirat :)

Prvo bumo kreirali tekstualno polje

1
var mojeTekstualnoPolje:TextField = new TextField();

Sad moramo definirati osnovne podatke tipa x pozicija, y pozicija, visina, širina,itd. Mi ćemo definirati x,y poziciju i širinu tekstualnog polja tako da nam tekst stane u njega

2
3
4
mojeTekstualnoPolje.x = 20;
mojeTekstualnoPolje.y = 40;
mojeTekstualnoPolje.width = 400;

Onda bumo deklerirali variablu koja formatira to tekstualno polje

5
var mojFormat:TextFormat = new TextFormat();

I sad bumo definirali font, boju, veličinu i aligment tekstualnog polja

6
7
8
9
mojFormat.align = TextFormatAlign.CENTER;//probajte zamjenit CENTER s LEFT ili/i RIGHT da vidite razliku
mojFormat.color = 0xff0000;
mojFormat.font = "Arial";
mojFormat.size = 16;

Nakon što smo formatirali naše tekstualno polje moramo dodati tekst jer postoji caka. Ako prvo dodjelimo format tekstualnom polju, pa onda tekst tekstualni format neće radit, ali ako prvo dodamo tekst tekstualnom polju, pa onda format onda je tekstualno polje pravilno formatirano.

10
mojeTekstualnoPolje.text = "ActionScript, Flash i AIR tutorijali na hrvatskom jeziku";

I konačno dodjelimo format tekstualnom polju i dodamo tekstualno polje na display listu

11
12
mojeTekstualnoPolje.setTextFormat(mojFormat);
addChild(mojeTekstualnoPolje);

Primjer:
(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Pošto ovo nije sve što se može formatirati(boja,veličina, align) kliknite OVDJE da vidite sva svojstva koja možete upotrijebit pri formatiranju tekstualnog polja.

Random Motion (II dio) - Nasumično kretanje pomoću Timer Class-a

January 6th, 2008 hamferus No comments

U ovom tutorijalu koristit ćemo Timer Class kako bi pomicali naš krug po stagu. Timer Class je novost u actionscriptu 3.0 jer s njim možemo napraviti nešto u vremenskom razmaku, npr. ako hoćemo da se objekt pomiče svakih "x" sekundi ili hoćemo da se nekaj obavi "x" broj puta u vremenskom razmaku od "x" sekundi. U actionscriptu 2.0 koristila se funkcija setInterval() ali ona se nakon nekog vremena znala zblesirat i prestat radit.

Ajmo na posao:

  1. Otvorite novi Flash CS3 dokument(actionscript 3.0)
  2. Zakljujčajte prvi layer i preimenujte ga u actions
  3. Kliknite na prvi frame actions layera i otvorite actions panel(F9)
  4. Počmite kodirat :)

Prvo moramo napravit naš zeleni krug

1
2
3
4
5
var mojKrug:Sprite = new Sprite();
mojKrug.graphics.beginFill(0x009966);
mojKrug.graphics.drawCircle(20,20,20);
mojKrug.graphics.endFill();
addChild(mojKrug);

Sad moramo deklerirati Timer variablu koja ima dva argumenta:
1. broj u milisekundama nakon kojeg će tajmer pokrenuti zadanu funkciju
2. broj koliko će se puta tajmer ponoviti(ako ga se ne napiše on se pali beskonačan broj puta)
U našem slučaju tajmer bu se upalil 5 puta svaku jednu sekundu(1000ms = 1 sekunda)

6
var mojTajmer:Timer = new Timer(1000,5);

Sad ćemo startat tajmer

7
mojTajmer.start();

Nakon što smo startali tajmer dodajemo mu "eventListener" koji će osluškivati dal se tajmer upalio i kad se upali pozvat ćemo funkciju koja bu pomicala naš krug

8
mojTajmer.addEventListener(TimerEvent.TIMER, pomiciKrug);

I konačno napišemo funkciju koju zovemo kad se tajmer upali

9
10
11
12
13
14
15
function pomiciKrug(e:TimerEvent):void
{
   //za poziciju x nasumično biramo broj između 0 i širine stage-a
   mojKrug.x = Math.random() * stage.stageWidth;
   //za poziciju y nasumično biramo broj između 0 i visine stage-a
   mojKrug.y = Math.random() * stage.stageHeight;
}

Testirajte animaciju (Ctrl+Enter)
Primjer:
(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Ali to nije sve. Tajmeru se može dodati još jedan eventListener koji osluškuje kad je tajmer gotov( u našem slučaju 5. put kad se aktivira tajmer je gotov), pa ćemo dodati i taj eventListener i vratit krug u početni položaj(gornji ljevi ugao). Kodu iz prošlog primjera dodat ćemo par linija:
Prvo dodajemo eventListener

16
mojTajmer.addEventListener(TimerEvent.TIMER_COMPLETE, vratiKrugUPocetniPolozaj);

I još moramo napisati funkciju

17
18
19
20
21
function vratiKrugUPocetniPolozaj(e:TimerEvent):void
{
   mojKrug.x = 0;
   mojKrug.y = 0;
}

Testirajte animaciju (Ctrl+Enter)
Primjer:
(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)
Pozdrav
Luka

Random Motion (I dio) - Nasumično kretanje pomoću ENTER_FRAME eventa

January 5th, 2008 hamferus No comments

U ovom actionscript tutorijalu koristit ćemo "eventListener" zvan "ENTER_FRAME" kako bi pomicali naš krug po stagu. Ovaj event radi tako da upotrebljava kod iz funkcije koja mu je dodjeljena u svakom frameu animacije,tj. ako animacija ima 12 framova u sekundi naš objekt bu se pomaknul 12 puta u jednoj sekundi, probajte se igrati s frame rateom svoje animacije da vidite razliku.ENTER_FRAME event je obično procesiran prije svih ostalih akcija na bilo kojem frameu u animaciji.

Ajmo na kod
Prvo bumo napravili jedan krug koji ćemo kasnije nasumično pomicat po stageu

1
2
3
4
5
var mojKrug:Sprite = new Sprite();
mojKrug.graphics.beginFill(0x009966);
mojKrug.graphics.drawCircle(20,20,20);
mojKrug.graphics.endFill();
addChild(mojKrug);

Dodajemo eventListener na stage koji ima dva argumenta:
1. Ime eventa
2. Ime funkcije koja će se pokrenut kad se event dogodi

6
addEventListener(Event.ENTER_FRAME, pomiciKrug);

Sad ide funkcija koja će se upaliti u svakom framu pokrenute animacije

7
8
9
10
11
12
13
function pomiciKrug(e:Event):void
{
   //za poziciju x nasumično biramo broj između 0 i širine stage-a
   mojKrug.x = Math.random() * stage.stageWidth;
   //za poziciju y nasumično biramo broj između 0 i visine stage-a
   mojKrug.y = Math.random() * stage.stageHeight;
}

Primjer:

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

U nastavku bumo koristili "TimerClass" da napravimo istu stvar

Drawing API

January 4th, 2008 hamferus No comments

Evo nas i na prvom tutorijalu. Danas bum vam pokazal kako nacrtati pravokutnik ili kvadrat i krug s ActionScriptom. U ActionScriptu 2.0 moralo se potezati linije da bi se nacrtal jedan od tih likova dok u ActionScriptu 3.0 već imamo gotove skripte koje crtaju geometrijske likove.

Koristit ćemo Adobe Flash CS3 za naše tutorijale, ako ga nemate možete skinutu trial verziju na Adobeovim stranicama.

Prije nego što počmemo pisati kod otvorite novi flash dokument(actionScript 3.0) i zaključajte prvi layer, zatim ga preimenujte u "actions". Otvorite "Actions Panel"(F9) i klinite na prvi frame actions layera i možete krenut dalje.

Počeli bumo s pravokutnikom ili kvadratom jer samo o vama ovisi koji od ova dva budete nacrtali ovisno o dužini i visini stranica. Mi bumo danas nacrtali oba dva.

Kvadrat i pravokutnik:

1
2
3
4
5
6
7
8
9
10
11
12
//prvo moramo definirati "sprite" ili "shape" pomoću kojeg ćemo nacrtat kvadrat
//ja koristim sprite jer se njemu mogu dodavati drugi "objekti" dok se shpeu nemogu dodavati nikakvi "objekti"
var mojKvadrat:Sprite = new Sprite();
 
//sad moramo započeti s "beginFill()" metodom koja ima 2 argumenta: 1.boju(0x0033ff) našeg kvadrata i
//njegovu alpha prozirnost(1) u flashu cs3 taj broj je između 0 i 1 dok u starijim verzijama je bio od 0 do 100
mojKvadrat.graphics.beginFill(0x0033ff, 1)
//sad nacrtamo kvadrat s 4 argumenta
//1. x pozicija na stageu, 2. y pozicija na stage, 3. dužina i 4. visina
mojKvadrat.graphics.drawRect(20,20,100,100);
//i još samo moramo završit metodu "beginFill()" koju smo započeli
mojKvadrat.graphics.endFill();

Ako sad testirate film(Ctrl+Enter) nećete vidjeti kvadrat jer nije dodan na display listu. U ActionScriptu 3.0 sve šta stvaramo ili koristimo moramo dodati na display listu s komandom addChild()

13
addChild(mojKvadrat);

Sad testirajte svoj film(Ctrl+Enter) i plavi kvadrat bi trebao bit na stage-u.

Nakon ovoga Pravokutnik nebi trebao bit problem jer razlika je samo u drawRect() funkciji

Promijenite ovu liniju

10
mojKvadrat.graphics.drawRect(20,20,100,100);

u

10
mojKvadrat.graphics.drawRect(20,20,200,100);

i dobili ste plavi pravokutnik.

Ajmo sad nacrtat krug:

1
2
3
4
5
6
7
var mojKrug:Sprite = new Sprite();
//ako nam je alpha prozirnost 100% onda ju netrebamo ni pisat
mojKrug.graphics.beginFill(0x009966);
//"drawCircle" metoda ili funkcija ima 3 argumenta: 1. x pozicija, 2. y pozicija i 3. radius
mojKrug.graphics.drawCircle(100,100,30);
mojKrug.graphics.endFill();
addChild(mojKrug);

Evo i sad ste dobili zeleni krug radiusa 30 piksela

Pozdrav

Luka

Test ActionScript koda

January 3rd, 2008 hamferus 1 comment

Ovo je test da vidim dal radi plugin za kod:

1
2
3
4
5
function sayHello():void
{
   trace("hello");
}
sayHello();

Evo da odmah objasnim šta sam napiso. Ovo je mala funkcija koja nas pozdravlja, ako napišete ovo u Flashu u "ActionScript Panelu" i testirate film(Ctrl + Enter) u "Output Panelu" bi trebali dobiti riječ "hello". Trace se obično koristi da se recimo provijere vrijednosti nekih variabli ili dal ta variabla uopće postoji. Zapravo trace je vaš i moj najbolji prijatelj u traženju rješenja ako zapnete ili imate grešku u kodu. U ovom slučaju ga koristim da mi pokaže dal funkcija radi.

Dobrodošli!

January 2nd, 2008 hamferus 2 comments

Dobrodošli!

Primijetio sam da nema baš puno blogova ili ikakvih stranica koje se isključivo bave Adobe Flahsom i ActionScriptom na hrvatskom, pa sam se odlučio pisat tutorijale za ActionScript 3.0 i donositi vam informacije o Flashu i svemu vezanom uz njega.

Pozdrav

Luka

Categories: General Tags: