Buton care incarca swf

Intrebari despre Actionscript 3.0

Buton care incarca swf

Mesajde gabitzish » Mar Mai 25, 2010 1:38 pm

Am de facut un proiect in care utilizatorul sa poata incarca dinamic un swf in instanta unui buton, si la click, swf'ul sa ruleze. De exemplu, o floare care infloreste la click.
Cum as putea face chestia asta? Cel pt care fac proiectul a zis ca "e un imperativ" ca butonul sa functioneze cu metadata.

Din cate am inteles eu, tre sa fac clasa de buton, sa poata fi instantiat un buton, iar utilizatorul sa'i poata da calea catre swf, sau sa'l incarce din librarie.

Ceva sugestii?
Sunt 10 tipuri de oameni: cei care stiu numara binar, si cei care nu stiu.
Avatar utilizator
gabitzish
 
Mesaje: 43
Membru din: Vin Sep 04, 2009 8:01 am
Localitate: Oradea

Re: Buton care incarca swf

Mesajde Barna Biro » Mar Mai 25, 2010 6:26 pm

Ai putea sa explici un pic mai in detaliu treaba aia cu swf-urile? Nu prea inteleg bucata asta "sa poata incarca dinamic un swf in instanta unui buton". Cum adica sa "incarce dinamic swf-ul in instanta unui buton"? Butonul sa fie pe post de container si swf-ul incarcat sa fie adaugat in buton?

Ar fi bine de stiut ce intelege clientul respectiv prin "metadata" si mai ales, care ar fi workflow-ul in opinia lui. In metadata, omul poate stoca diferite informatii care sa fie prezente la compilare in obiectul dorit... dar nu vad cu ce l-ar ajuta pe el asta din moment ce vrea ceva "dinamic" ( adica, ar putea sa stocheze informatii in butoane si sa citeasca aceste informatii la runtime si sa faca cine stie ce, "dinamic"... dar metadata-ul este adaugat in momentul in care butonul este compilat, deci daca vrea sa schimbe la un moment dat informatiile stocate in metadata-ul butonului, va trebui sa recompileze swf-ul cu butonul... ceea ce, in opinia mea, nu e un approach prea "dinamic" ).
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Re: Buton care incarca swf

Mesajde gabitzish » Mar Mai 25, 2010 8:19 pm

Din cate am inteles eu, el vrea sa faca zeci de butoane d'alea, ma gandesc ca o sa faca ceva de genu:
for (i = 0; i < 100; i++)
{
btn = new Button();
btn.setSize(w, h);
btn.moveTo(x, y);
addChild(btn);
}

ei, si la butonu asta tre sa'i puna si un swf, care poate o sa'l puna in functie de i, sa nu fie acelasi la toate butoanele, care sa ruleze cand dai click pe el.
Nu prea am inteles nici eu ce vrea cu metadata, si ma gandeam ca asta o fi o metoda de a incarca swf'ul, pe care n'o stiu eu. De asta intrebam...
Sunt 10 tipuri de oameni: cei care stiu numara binar, si cei care nu stiu.
Avatar utilizator
gabitzish
 
Mesaje: 43
Membru din: Vin Sep 04, 2009 8:01 am
Localitate: Oradea

Re: Buton care incarca swf

Mesajde Barna Biro » Mar Mai 25, 2010 8:36 pm

Din pacate, daca nici tu nu stii ce ai de facut si ce vrea exact clientul, nu prea stiu cum o sa putem sa te ajutam. As putea sa ma pun sa-ti vorbesc despre tot felul de lucruri care poate intr-un final nici n-o sa aibe treaba cu ceea ce vrea clientu, dar cred ca ai lucruri mai bune de facut decat sa-mi citesti reply-urile extrem de lungi ( si care probabil, nici nu o sa fie "on topic" ). :)

Eu zic sa mai revii cu problema asta dupa ce stii exact ce vrea clientu si cum vrea acel lucru ( ar fi nice sa te asiguri ca individul respectiv are habar despre ceea ce vorbeste si nu arunca aiurea in aer cu cuvinte pompoase de genul "metadata" si eu mai stiu ce, despre care cine stie pe unde a auzit si in ce conditii ).

Sorry dude, that's all I can do for now...
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Re: Buton care incarca swf

Mesajde Barna Biro » Mie Mai 26, 2010 12:35 am

Apropo, referitor la Metadata: in general, in ActionScript, oamenii se folosesc de metadata pentru a stoca diferite informatii despre un obiect la compilare ( informatii care sa fie accesibile mai tarziu, la run-time ), dar se pot face lucruri mult mai cool cu metoadata. Daca ai auzit de Metaprogramming, atunci nu are rost sa ma bag in prea multe explicatii, dar in caz de nu ai auzit, atunci te invit sa citesti un pic.

Personal, nu m-am prea folosit de metadata in proiecte "pure ActionScript" si nu stiu exact cat sunt de suportate acolo ( daca nu ma insel, atunci era un pic mai dificil de definit tag-uri custom in proiecte "pure ActionScript" ), dar in Flex, sunt chiar foarte nice. In day-to-day work nu stiu daca o sa te lovesti prea des de treburi de genu, dar daca o sa vrei sa dezvolti vreodata o librarie proprie ( sau cine stie ce ) micuta/maricica/simpatica, care sa faca tot felul de chestii cool, atunci "metadata" is one of the ways to go ( un exemplu foarte nice ar fi acesta: EXAMPLE - SOURCE CODE ). Cheers!
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Re: Buton care incarca swf

Mesajde gabitzish » Mie Iun 02, 2010 3:41 pm

Pana la urma i'am facut butonul fara metadata... nu prea stia nici el ce vrea.
Avem acum alte 2 probleme.
1. Butonul incarca 3 movieclip'uri pt fiecare stare (over, up, down). Acestea sunt movieclip'uri din library. Problema e ca nu mai prinde evenimentul MouseEvent.CLICK. Prinde move, down, up, dar nu prinde click.
2. Cand sunt mai multe butoane apropiate, daca in timpul animatiilor se intersecteaza, se opreste animatia de la mouse_over pe la mijloc. Asta se intampla in CS4, am incercat si cu CS5 si merge frumos. Atasez fisierul .fla si clasa butonului. Veti vedea in fla ca sunt 5 butoane apropiate, incercati sa miscati mouse'ul destul de rapid peste toate 5 (sunt in linie) sa vedeti bug'u. Am si un filmulet in care e capturat : http://www.4shared.com/file/lzrFFMvJ/6-1-2010_2-58-05_PM.html
ButtonArrayTest.fla
(1020.5 KiB) Descărcat de 125 ori
myButton.as
(16.18 KiB) Descărcat de 114 ori
Sunt 10 tipuri de oameni: cei care stiu numara binar, si cei care nu stiu.
Avatar utilizator
gabitzish
 
Mesaje: 43
Membru din: Vin Sep 04, 2009 8:01 am
Localitate: Oradea

Re: Buton care incarca swf

Mesajde Barna Biro » Mie Iun 02, 2010 6:17 pm

Am descarcat sursele dar mi-am reamintit tarziu ca n-am Flash-u instalat :) M-am uitat peste myButton si cred ca prima problema s-ar rezolva daca ai adauga: container.mouseChildren = false; in metoda createContainer(); Referitor la cea de a 2-a problema: nu stiu sigur... :) cum nu am Flash-u instalat, nu pot testa efectiv treaba... nu cred ca are IDE-u de a face cu problema asta, deoarece, pana la urma, Flash Player-u interpreteaza totu si ruleaza swf-u.

Poate se rezolva si problema a 2-a odata cu rezolvarea problemei 1.
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Re: Buton care incarca swf

Mesajde gabitzish » Mie Iun 02, 2010 9:24 pm

Asta era. Mersi ! Cu MouseChildren = false s'au rezolvat amandoua.
Sunt 10 tipuri de oameni: cei care stiu numara binar, si cei care nu stiu.
Avatar utilizator
gabitzish
 
Mesaje: 43
Membru din: Vin Sep 04, 2009 8:01 am
Localitate: Oradea


Înapoi la ActionScript 3.0

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 1 vizitator

cron