[reseno][skripta][pomoc] Obicna galerija slika u AS 3.0, addChild() |
Dobrodošli, goste ( Prijava | Registracija )
![]() ![]() |
[reseno][skripta][pomoc] Obicna galerija slika u AS 3.0, addChild() |
Jan 4 2008, 13:04
Poruka
#1
|
|
|
Da sve bude lakse evo primera
test_galerija_slika.zip ( 9.14K )
Broj download-a: 16Ideja je da uradim obicnu galeriju slika koristeci AS 3.0 cisto radi ucenja istog. U primeru je nedovrsena galerija jer sam stao kada sam trebao da napravim nekoliko movie clip-ova. Problem je u tome sto sam u AS 2.0 koristio attachMovie koji je kao parametar imao i novo ime, ja ovde koristim addChild koji kao parametar nema novo ime, pa sad ne znam kako da kazem npr next dugmetu da prikaze sledecu sliku. Da li se to radi na neki "novi" nacin ili ili ne treba koristiti addChild vec nesto drugo? Cisto da bolje razumete ideju, hocu da napravim metodu za pojavljivanje slike, a next i prev dugme ce imati svoju klasu (svoj as fajl) gde cu izmedju ostalog definisati i CLICK evente. |
|
|
|
|
Jan 4 2008, 15:00
Poruka
#2
|
|
|
I ja ga jos uvek ucim, ali mislim da sam dotakao sustinu
attachMovie ne postoji vise. Sada se to radi direktno preko klasa. Drugim recima, napravis simbol i zabodes mu ime klase (Linkage vise ne postoji; ime klase se zadaje u istom panelu kao nekad Linkage). Zatim napravis tu klasu (kao i uvek, fajl sa istim imenom itd) i ne zaboravi da ona mora da nasledi MovieClip. Zatim tu klasu realizujes negde u kodu sa new. To u AS3 ne znaci da ce se odmah i renderovati. U ovom koraku sacuvaj i reference na te klipove, da bi posle mogao da dodjes do njih. Klipovi ce se renderovati tek ako ih prosledis metodi addChild nad objektom koji je MovieClipContainer (ili tako nesto). Mislim da su Stage i ovaj novi root MovieClipContaineri. Procackaj malo, trebace mi neko vreme dok pocnem da vadim ove podatke iz glave. Da btw, taj MovieClipContainer mora biti i sam deo display strukture, inace se opet nece renderovati. U startu je valjda samo Stage deo ove strukture, a kasnije (kao i ranije), drugi kontejneri koje si instancirao postaju validni targeti za addChild. Interesantno su resene neke stvari, ja sam u najmanju ruku odusevljen koliko su neke stvari sada elegantne. Jeste smor, i jeste da sada nekada rutinske stvari zahtevaju malo vise rada i paznje, ali ovo je sad pravo programiranje, a ne ad-hoc skripting. Glavna stvar koja je uradjena je to sto svaki zadatak sada zahteva predumisljaj od strane programera. Nema vise odradjivanja na brzaka i pravljenja kapitalnih gresaka u pristupu u samom startu. Barem u generalnom slucaju. |
|
|
|
|
Jan 4 2008, 17:33
Poruka
#3
|
|
|
Hvala syndrome
Stvarno je ovako mnogo elegantnije, bas mi se svidja. OOP je cudo Verujem da se ovako komplikovaniji projekti mnogo lakse rade Treba jos napomenuti da ukoliko je potrebna komunikacija izmedju klasa, one moraju biti u istom paketu Evo source kod ako nekog zanima kako se nesto ovako pravi preko AS 3.0
test_galerija_slika_AS_3.0.zip ( 99.5K )
Broj download-a: 15Ako ima nekih pitanja, navalite Verovatno cu nabudziti neki efekat, ubaciti preloader, napraviti zastite.... Nadam se da cu imati vremena |
|
|
|
|
Jan 4 2008, 17:49
Poruka
#4
|
|
|
Treba jos napomenuti da ukoliko je potrebna komunikacija izmedju klasa, one moraju biti u istom paketu Nije neophodno. Ako deklarises metode sa public, dostupne su iz bilo kog paketa (AS3 public je isti kao AS2 public). Po defaultu su internal, a to znaci da su vidljive samo unutar tog paketa. private su dostupne samo iz te klase, a protected iz te klase i svih klasa koje nasledjuju tu klasu (AS3 protected je kao AS2 private). Dodatno, ako zelis da ides toliko daleko, mozes napraviti svoj namespace i namestiti ga da radi onako kako tebi odgovara Nije im bilo dosta sto su dodali dva nova atributa za deklaraciju koji su mi toliko nedostajali, nego su jos napravili i mehanizam kojim mozes sve to da kastomizujes Dodao bih na sve ovo jos i const, ... rest, final, i override... mljac final mi je trebao kad sam pravio ample kit, o constu necu ni da pricam. override je convenience keyword. nije bio neophodan, ali mnogo znaci. ... rest je podrska za arbitraran broj argumenata u metodi, zbog striktnosti novog kompajlera. |
|
|
|
|
Jan 4 2008, 18:45
Poruka
#5
|
|
|
određeni član Grupa: Urednici Poruke: 2,630 Datum reg.: 6-February 05 Lokacija: orion Član broj: 227 |
http://gotoandlearn.com/ su malo unapredili sajt...
uglavnom, ima ql videa za sva slična, elementarna pitanja oko as3. |
|
|
|
Jan 4 2008, 20:36
Poruka
#6
|
|
|
AS3.0 je mala sila
Edit: Hteo sam da dodam, recimo nemoras za svaki library objekat da pises posebnu classu(odvjenu classu u package-u) mozes da napravis package u kojem ce biti recimo 10 public classa koje su vezane za odredjene librari objekte i koje ce stajate u jednom paketu. Mozda je elegantnije. Naravno, cim dodas neki objekat na stage na bilo koji nacin, addChild methoda je automacki dostupna i za njega, kao i sve ostale methode poput addChildAt, removeChildAt, willTrigger, setChildIndex itd.... |
|
|
|
|
![]() ![]() |
| Lo-fi verzija | Trenutno vreme: Tuesday 18. June 2013 - 23:04 |