[ Meduzza @ 26.01.2009. 15:11 ] @
Ja se u AS3 baš loše snalazim. Nisam profesionalni programer, i koristim AS2 jer mi je lakši.
Ali, u zadnje vreme se pojavljuju odlične komponente koje rade samo u u AS3.

Vredi li da počnem da učim AS3 samo zbog komonenti.
[ StarCraft @ 27.01.2009. 12:43 ] @
Pa ja sam dugo radio u AS2 i dogurao do granice kad AS2 stvarno počinje da te guši (nisam radio sa klasama, iako to može da se radi i u AS2) pa reko, ajde da pređem na taj famozni AS3 i na Objektno Orijentisano Programiranje (OOP).

Međutim, nije toliki problem da sad ti naučiš sintaksu AS3, jer je 80% stvari skoro isto, najveće promene su u strukturi. Recimo potpuno je normalno da u AS3 napišeš 50 redova kôda da bi napravio obično dugme koje te jednostavno šalje na neki link. Međutim, tako napravljeno dugme kasnije možeš da re-juzuješ mnogo lakše.

Najveći problem je najverovatnije to što, da bi efektivno naučio AS3 i OOP, jednostavno treba da imaš nekog pored sebe sa kojim ćeš zajedno raditi. Ako pokušaš preko pisane forme da tražiš pomoć
1. niko neće razumeti šta si pitao
2. nećeš razumeti šta su ti odgovorili
jer jednostavno, AS3 i OOP su toliko APSTRAKTNE teme za razgovor, da NIKO NIKOGA ne može da razume jer svako pokušava da objasni na neki svoj način, iako svi pročaju o istoj stvari. Da ne spominjem da većina njih neće ni hteti da ti odgovori na pitanje, već će ti reći "moraš da naučiš OOP" (iako ti, naravno, nemaš blagu predstavu šta to znači, niti u kom trenutku si naučio OOP pa si odjednom postao zreo da postavljaš pitanja)

Ako kreneš da čitaš dokumentaciju koja je pisana "pravilnim jezikom" to će biti toliko naporno za čitanje da će ti glava pući posle 3 pročitane strane. Najveći problem je najverovatnije pronaći pravu dokumentaciju.

Ako već znaš neki OOP jezik (recimo PHP) onda ćeš imati manje problema kod prelaska sa AS2 na AS3, ali što duže budeš radio u AS2 sve će ti biti teže da pređeš na OOP. Primera radi, kad radiš u AS3, komotno zaboravi da _root uopšte postoji.

Naki moj zaključak:
Ako misliš da si zreo da postaneš profi programer, onda probaj da pređeš na AS3.
[ akasha org. @ 27.01.2009. 13:33 ] @
I ja jos uvek radim AS2, iako nemam problema sa Objektno Orijentisanim Programiranjem. Mislim da je PHP los primer za OOP, jer se masovno koristi i bez trunke objekata. Java je recimo bolji primer, jer je kompletno objektno orijentisana, kao i AS3.

"Samo" zbog komponenti uoste nije samo. Ako se vise bavis komponentama [planiras da razvijes neku svoju, npr] obavezno prelazi na AS3, ako u Flashu radis banere i animacije, AS3 ti nije neophodan. Ako preradjujes i optimizujes druge komponente [menjas boje, tranzicije i sl], sintaksa AS3 ti nece biti problem, nalik je AS2, samo ces imati vise koda da pregledas i doteras.. Vise u smislu veceg broja linija, ali sto rece StarCraft, ponovno koriscenje je manji problem nego u AS2.
[ reject @ 27.01.2009. 16:48 ] @
Ljudi, zaboravite AS2. Mislim da ce i playeri za koju godinu prestati da ga podrzavaju,
to je proslost.
Ako radis banere i proste stvari, odlicno - nek koristi as3 taman da udjes u stos.
Citat:
StarCraft:jer jednostavno, AS3 i OOP su toliko APSTRAKTNE teme za razgovor, da NIKO NIKOGA ne može da razume jer svako pokušava da objasni na neki svoj način, iako svi pročaju o istoj stvari. Da ne spominjem da većina njih neće ni hteti da ti odgovori na pitanje, već će ti reći "moraš da naučiš OOP" (iako ti, naravno, nemaš blagu predstavu šta to znači, niti u kom trenutku si naučio OOP pa si odjednom postao zreo da postavljaš pitanja)

Evo ja cu, pitajte sta treba, ako znam, objasnjavam prostim narodnim jezikom,
a i google je super, cak mnogo korisniji nego ja.
Citat:
Ako kreneš da čitaš dokumentaciju koja je pisana "pravilnim jezikom" to će biti toliko naporno za čitanje da će ti glava pući posle 3 pročitane strane. Najveći problem je najverovatnije pronaći pravu dokumentaciju.

Nemoj plasiti ljude. Ja sam sve naucio sa neta, tutoriala koliko hoces, od debilnosti
do slozenih stvari. Upises lepo as3 tutorials u google i udri + sam adobe ima nesto slicno msdn.
Citat:
Naki moj zaključak:
Ako misliš da si zreo da postaneš profi programer, onda probaj da pređeš na AS3.

Ma jok, ako hoces da budes programer nauci c++,c#,javu, ovo je __jednostavno__.
AS3 je 'nakaradna' java, tj. svasta su pokupili od jave, ali je svasta drugacije da bi se
prilagodilo samom flashu i nacinu na koji on radi. Ko se i malo bavio javom treba samo
da se 'svikne' na as3 i nema problema.

Glavna stvar za nekog ko stvarno krece od nule, a posle koje sve ide lakse jeste da
skonta kako rade event listeneri i eventi.
[ StarCraft @ 28.01.2009. 23:15 ] @
Ako si već upoznat sa OOP-om, onda ne bi trebalo da bude probelma oko učenja AS3.

Da, eto ja sam zaglavio sa tim event listenerima :) nikako da stignem da pročitam dokumentaciju :D

A ne postoji teoretska šansa da jednog dana "AS2 prestane da bude podržan" jer još uvek bar 50% ljudi radi u AS2, a mnogo veći procenat početnika kreće baš od AS2. Da bi pravio obične banere u flešu, koj će ti pimpek AS3?

Ja sam se lično jako dugo zadržao na AS2 jer su me MOLILI da i dalje radim u njemu.
Zašto? Zato što jedino tako mogu da publishujem svoj sajt u flash player 6 koji je po defoltu ugrađen u svaki windows XP. A kad radiš domaće sajtove, za korisnike koji još uvek imaju dial up, mnogi neće da se smaraju oko instaliranja flash playera, ili ne znaju kako da ga instaliraju, ili da uopšte trebaju to da urade (da, zovu nas ljudi i žale se, majkemi!)

Dobro, tako je to kad matori ljudi koriste internet... :D

[Ovu poruku je menjao StarCraft dana 29.01.2009. u 00:39 GMT+1]
[ akasha org. @ 29.01.2009. 01:49 ] @
Nisam siguran bas oko verziranja, ali Analytics i ne belezi preterano koriscenje Flash Player 6, bar u mom slucaju.. Nekih 90% zauzimaju razne verzije devetke [lupam: 9.1.23.r i sl] tako da je svejedno koji AS ulazi u igru. Razvoj za mobilne telefone je nesto drugo i tu su ogranicenja velika, ali priblizno jednaka i za dvojku i trojku..

Jedno stoji, svaki ozbiljniji developer se obradovao trojci i kompletnom objektno orijentisanom konceptu. Otuda i povecani broj komponenata radjenih za AS3. Preci cemo svi na AS3 [jos se i rimuje :P] samo je pitanje trenutka. Reject je tu u pravu.
[ reject @ 29.01.2009. 01:51 ] @
Citat:
StarCraft: Ako si već upoznat sa OOP-om, onda ne bi trebalo da bude probelma oko učenja AS3.
Da, eto ja sam zaglavio sa tim event listenerima :) nikako da stignem da pročitam dokumentaciju :D

Ma prosto je. U AS2 imas onClick onMouseOver i slicne stvari. Ovde toga, vise nema.
Imas neki objekat pod imenom dugme (movieclip, button, samo da mozes da mu
das ime u sceni). U skriptu mu dodelis event listener, tj. funkciju koja se poziva kada
se dogodi neki event. Recimo:
Code:
dugme.addEventListener(MouseEvent.CLICK, kadSiKlikno);

Sada ce svaki put kada kliknes na dugme da se pozove kadSiKlikno funkcija. Ona mora
da za parametar dobija event. Recimo:
Code:
function kadSiKlikno(ev:MouseEvent):void{
trace(ev.target.name);
}

ce da ti napise ime objekta na koji si kliknuo. Sad, ovo je zakomplikovalo pravljenje jednostavnih buttona jer moras da im napises
listenere, ali ti omogucava mnogo mnogo stvari. Recimo, imas neki klip koji se pomera po frejm zavisno od neke akcije. Kad dodje do
kraja (ili kad god ti treba), on moze da 'baci' neki event, pa ostatak scene moze da 'reaguje' na to.
Isto, mozes da 'prosiris' samu klasu Event, tako da 'baca' jos podataka. Recimo, slajder moze da baca svoj polozaj, slika da ga
hvata i da se podesava po njemu i slicno.
Isto, jedna funkcija moze da 'vata' evente od vise objekata. Recimo da imas dva zvuka koja treba da pustas na dva dugmeta.
Dugmeta i zvuke mozes da nazoves tako da negde u imenu dugmeta imas nesto sto ti odredjue zvuk(recimo dugme1 i dugme2):
Code:

var s1:PrviZvuk = new PrviZvuk;
var s2:DrugiZvuk = new DrugiZvuk;

dugme1.addEventListener(MouseEvent.CLICK, playS);
dugme2.addEventListener(MouseEvent.CLICK, playS);

function playS(e:Event):void{
   SoundMixer.stopAll();
   this["s"+e.target.name.charAt(e.target.name.length-1)].play();
}

Citat:
A ne postoji teoretska šansa da jednog dana "AS2 prestane da bude podržan" jer još uvek bar 50% ljudi radi u AS2, a mnogo veći procenat početnika kreće baš od AS2. Da bi pravio obične banere u flešu, koj će ti pimpek AS3?

Iskreno ne znam, misljenja sam da ce u nekom trenutku adobe da batali as2.
Citat:
Ja sam se lično jako dugo zadržao na AS2 jer su me MOLILI da i dalje radim u njemu.
Zašto? Zato što jedino tako mogu da publishujem svoj sajt u flash player 6 koji je po defoltu ugrađen u svaki windows XP. A kad radiš domaće sajtove, za korisnike koji još uvek imaju dial up, mnogi neće da se smaraju oko instaliranja flash playera, ili ne znaju kako da ga instaliraju, ili da uopšte trebaju to da urade (da, zovu nas ljudi i žale se, majkemi!)

Nisam imao takva iskustva, izbegavam poslove za domace firme koliko god mogu, a kad moram onda im u startu kazem da mora as3
i da mora flash9 ili nista od posla. :D Ako mi neko trazi nesto da mora u as2, bacam ti pp pa preuzmi posao, ozbiljno.
Sta li stize sa vistom, tj. koja verzija flash playera?
Citat:
Dobro, tako je to kad matori ljudi koriste internet... :D

Znam, znam tacno o cemu pricas. Nakon nekoliko mnogo losih iskustava izbegavam ljude koji
ne znaju nista, a hoce nesto da im se uradi, to se na kraju uvek zavrsava tragicno.
[ StarCraft @ 30.01.2009. 11:01 ] @
E, hvala na objašnjenu. Mada sam ja u stvari mislio na ono dispatchovanje eventova. Malo mi nije jasno, ako neki objekat dispatshuje event, kako ostali da se "prikače" da slušaju taj event? Trebalo bi preko imena (tog muvi klipa) ili preko ID te instance (this).

Malo mi je to nejasno
1) kako najbolje da referenciram objekte?
2) Kako recimo da detektujem koliko instanci neke klase (muvi klipa) je ostalo na ekranu?
3) Kako da referenciram instancu neke virtuelne klase koju sam instanciraju u document (osnovnoj) klasi? Gde se sad ta instanca nalazi? Kako da dođem do nje iz nekog drugog objekta?...

Moram da priznam da sam prijatno iznenađen "dočekom" na ovom forumu što se tiče pitanja u vezi AS-a. Na "onom drugom forumu" samo što te ne oteraju u 3 lepe (daju ti link tipa: http://letmegooglethatforyou.com/?q=google+it)
[ reject @ 30.01.2009. 14:48 ] @
Recimo da imas muviklip mKlip i da hoces da on baci event "zavrsio". U njegovom frejmu kad to treba
da se desi, Event dispatchujes ovako:
Code:

dispatchEvent(new Event("zavrsio"));

onda u sceni (ili njegovom parentu, uglavnom tamo gde si ga stavio) recimo kazes:
Code:

mKlip.addEventListener("zavrsio", stadalje);
function stadalje(e:Event):void{
//ovde se desava sta treba kad se event desi.
}


Citat:
1) kako najbolje da referenciram objekte?

Code:
var imeObjekta:KlasaObjekta = new KlasaObjeka;
Recimo: var mojKlip:MovieClip = new MovieClip

Naravno, napravljen objekat se ne pojavljuje na ekranu kad ga napravis nego kad ga dodelis nekom klipu koji je na ekranu
ili samoj sceni (scene.addChild(mojKlip);).
Mozes da pravis i niz objekata:
Code:
var niz:Array=new Array();
niz[0]= new MovieClip;
niz[1]= new MovieClip;
i tako, onda mozes da im 'pristupis' sa niz[0], niz[1] i tako.
Recimo niz[0].x+=10; ce povecati x prvom klipu.

Isto je pametno da napravis movieclip koji ce biti kontejner za ostale.
Code:
var mHolder:MovieClip = new MovieClip;
var mojKlip01:MovieClip = new MovieClip;
mHolder.addChild(mojKlip01);

Tako da kad hoces da se resisi svih clipova u njemu, samo kazes:
Code:
 mHolder = new MovieClip

To je super za partikle, recimo napravis petlju koja ce da pravi neke objekte,
napravis listener koji ce da ih krece i listener koji ce da ih ubije kada im je vreme za to.
Sad, partikla mozes da imas koliko hoces, ali su svi oni childovi mHoldera tako da mozes
da ih se resis bilo kad, bez potrebe da znas koliko ih tada ima.
Citat:
2) Kako recimo da detektujem koliko instanci neke klase (muvi klipa) je ostalo na ekranu?

Svaki klip ima numChildren koji vraca broj child objekata. Isto vazi i za samu scenu (root). Tako da
sa for-om mozes proci kroz sve childove nekog objekta i videti sta ces sa njima (getChildAt(i)).
Citat:
3) Kako da referenciram instancu neke virtuelne klase koju sam instanciraju u document (osnovnoj) klasi? Gde se sad ta instanca nalazi? Kako da dođem do nje iz nekog drugog objekta?...

Ovo bas i ne razumem. Sta ti tacno treba, daj neki primer.
Citat:
Moram da priznam da sam prijatno iznenađen "dočekom" na ovom forumu što se tiče pitanja u vezi AS-a. Na "onom drugom forumu" samo što te ne oteraju u 3 lepe (daju ti link tipa: http://letmegooglethatforyou.com/?q=google+it)

Pa eto, zato ovo nije "onaj drugi forum". Bilo bi lepo i da se ukljuci jos neko u pricu posto sam
ja veoma neupucen u stvari koje jos nisam imao potrebe da pravim.
[ StarCraft @ 30.01.2009. 20:03 ] @
Nikad u životu nisam dobio korisnije odgovore... majkemi :D

thnx alot. Kad budem nastavio da radim, javiću se eventualno za još ;)

Pravi si car!

edit: Nije valjda da si zaista 41. godište?
Stvarno te zanima game development? :)

[Ovu poruku je menjao StarCraft dana 30.01.2009. u 21:40 GMT+1]
[ reject @ 30.01.2009. 23:32 ] @
Citat:
StarCraft:Nije valjda da si zaista 41. godište?

Nisam, ali se osecam kao da jesam. :D
Citat:
Stvarno te zanima game development? :)

Manje vise zivim od proizvodnje igara/animacija vec duze vreme. :)