Dobrodošli, goste ( Prijava | Registracija )

 
Reply to this topicStart new topic

[reseno][skripta][pomoc] Obicna galerija slika u AS 3.0, addChild()

V
miksha
poruka Jan 4 2008, 13:04
Poruka #1




Grupa: Članovi
Poruke: 656
Datum reg.: 20-March 05
Lokacija: Kikinda - Novi Sad
Član broj: 417



Da sve bude lakse evo primera Prikačen fajl  test_galerija_slika.zip ( 9.14K ) Broj download-a: 16


Ideja 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.
Go to the top of the page
 
+Quote Post
syndrome
poruka Jan 4 2008, 15:00
Poruka #2


zgužvam.. bacim

Grupa: Urednici
Poruke: 6,376
Datum reg.: 1-June 05
Lokacija: Beograd
Član broj: 808



I ja ga jos uvek ucim, ali mislim da sam dotakao sustinu smile.gif

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.
Go to the top of the page
 
+Quote Post
miksha
poruka Jan 4 2008, 17:33
Poruka #3




Grupa: Članovi
Poruke: 656
Datum reg.: 20-March 05
Lokacija: Kikinda - Novi Sad
Član broj: 417



Hvala syndrome
Stvarno je ovako mnogo elegantnije, bas mi se svidja. OOP je cudo biggrin.gif
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
Prikačen fajl  test_galerija_slika_AS_3.0.zip ( 99.5K ) Broj download-a: 15

Ako ima nekih pitanja, navalite biggrin.gif

Verovatno cu nabudziti neki efekat, ubaciti preloader, napraviti zastite.... Nadam se da cu imati vremena
Go to the top of the page
 
+Quote Post
syndrome
poruka Jan 4 2008, 17:49
Poruka #4


zgužvam.. bacim

Grupa: Urednici
Poruke: 6,376
Datum reg.: 1-June 05
Lokacija: Beograd
Član broj: 808



CITAT (miksha @ Jan 4 2008, 17:33) *
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 wink.gif

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 smile.gif

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.
Go to the top of the page
 
+Quote Post
the
poruka 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.
Go to the top of the page
 
+Quote Post
WhiteWeedow
poruka Jan 4 2008, 20:36
Poruka #6




Grupa: Članovi
Poruke: 976
Datum reg.: 22-February 06
Lokacija: Kad bi i ja sam znao... :)
Član broj: 3,483



AS3.0 je mala sila smile.gif

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....
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 



Lo-fi verzija Trenutno vreme: Tuesday 18. June 2013 - 23:04

Sve informacije (poruke, teme i sl.) predstavljaju stavove samo njihovih autora.
Objavljivanje informacija sa sajta u nekomercijalne svrhe moguće je samo uz navođenje URL adrese diskusije.
Za sve druge vidove distribucije potrebno je imati izričitu dozvolu administratora Dizajn Zone i/ili autora poruka.
Autorska prava za sadržaj poruke zadržava njihov autor, osim ako nije drugačije naznačeno.

powered by:Plus hosting