Preloader

Intrebari despre Actionscript 3.0

Preloader

Mesajde lemon_tree » Mie Sep 05, 2012 3:25 pm

Salutare tuturor,

Am o problema care imi da dureri de cap de cateva saptamani. Lucrez la un site de felicitari pe partea grafica, dar mai mult flash simplu, fara AS. Problema e ca swf-urile se incarca cu intermitente si nu stiu ce sa mai incerc. Am tot incercat diverse tutoriale pentru preloadere atat in AS2, cat si in AS3 si tot nu am reusit sa le dau de capat. In marea lor majoritate, nu am primit erori, insa filmele se incarca tot cu probleme.
Ultima mea incercare a fost sa fac un preloader extern (am incercat asta chiar si pentru fiecare swf in parte), folosindu-ma de tutorialul asta: http://sierakowski.eu/list-of-tips/45-- ... ipt-3.html. Primul swf s-a incarcat fara probleme, astfel ca am resuflat usurata, crezand ca am gasit ce imi trebuia. Dar e posibil sa fie doar o intamplare, intrucat incepand cu al doilea primesc eroarea asta: "packeges cannot be nested". Tin sa mentionez ca am incercat sa dau o denumire diferita preloaderului extern pentru al doilea swf (ex: ExternalPreloader2) insa nu mi-a iesit.
Ma poate lamuri cineva unde gresesc? Ori puteti sa imi dati vreun link pentru vreun tutorial pentru ceea ce imi trebuie mie?
Multumesc mult de tot!
lemon_tree
 
Mesaje: 4
Membru din: Mie Sep 05, 2012 2:50 pm

Re: Preloader

Mesajde Barna Biro » Mie Sep 05, 2012 9:17 pm

Salutari si bine ai venit!

Din pacate, nu exista un raspuns simplu pentru problema ta. Avem nevoie de mai multe detalii ca sa te ajutam ( sau chiar toate sursele ). Eroarea o primesti din cauza ca foarte probabil ai copy-paste-uit bucata de cod pe site-ul la care ne-ai dat link pe un frame. Codul acela nu functioneaza pe timeline... trebuie pus in fisier .as ( este o "clasa" ActionScript 3.0 - cauta articole despre "Programarea Orientata pe Obiecte" ( OOP ) ).

In general, nu se lucreaza usor cu .swf-uri multiple si pentru ceea ce faci tu, foarte probabil nici nu ai avea nevoie de .swf-uri multiple ( .swf-urile multiple sunt OK in cazul modulelor mai complexe si mari care trebuie incarcate doar cand este chiar nevoie ).

Poate cel mai simplu / rapid ar fi sa uploadezi toate sursele undeva si sa ne lasi un link catre ele sa vedem ce ai exact acolo :) Nu prea cred ca ar ajuta daca te-am bombarda cu alte tutoriale ( mai ales din cauza ca nu cunoastem structura proiectului tau si daca nu ai lucrat pana acuma cu clase in ActionScript 3.0, atunci nici n-o sa iti fie usor sa te descurci singura ).

PS: Ai putea sa faci un preloader in aplicatia principala si de cate ori incarci un .swf in aplicatie, doar afisezi preloader-u si il updatezi in functie de progresul .swf-ul care se incarca. Nu trebuie sa faci un preloader pentru fiecare .swf in parte, e suficient sa ai unul singur si sa-l "refolosesti" de cate ori este nevoie.
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Re: Preloader

Mesajde lemon_tree » Mar Sep 11, 2012 5:37 pm

Hei, mersi ca ai raspuns. Scuze ca revin atat de tarziu pe forum. Am incercat sa vad daca imi raspunde vreo careva in primele ore si apoi am renuntat. Am crezut ca nu mai e nimeni pe aici :oops: .

Pai sa incep mai intai cu prima problema: nu am cunostinte de OOP, dar am incercat sa urmez cu strictete acel tutorial si am inteles ca trebuiau sa fie 2 fla (cel principal si cel care sa contina clasele respective) si asa am procedat. Am incarcat atat swf-ul cu felicitarea cat si swf-ul care continea clasele in acelasi folder. Aparent mi-a iesit incercarea cu prima felicitare, insa atunci cand am incercat sa aplic si pentru a doua felicitare nu a mai mers.

Intradevar, asa e. De fapt mie imi trebuie un singur swf cu un preloader care sa ruleze de fiecare data cand este accesata o noua felicitare.
Nu stiu cat de corect ma exprim, asa ca sa ma scuzi daca limbajul meu nu e chiar adecvat.
Eu ador sa lucrez cu programe de grafica, insa din pacate nu am avut chiar atat de mult timp la dispozitie sa invat si AS...am reusit sa prind cateva notiuni care mi-au fost necesare pentru a face sa functioneze cum trebuie o felicitare (gen: un buton de play, replay, volume), insa la asta se limiteaza cunostintele mele in AS.

Ai putea sa ma ajuti cu un tutorial / o trimitere catre vreun site unde sa gasesc cum se fac astfel de preloadere?
Mersi mult de tot.
lemon_tree
 
Mesaje: 4
Membru din: Mie Sep 05, 2012 2:50 pm

Re: Preloader

Mesajde Barna Biro » Mie Sep 12, 2012 1:51 am

O sa revin cu un raspuns in cateva zile ( sunt un pic ocupat acuma ).
Sper sa pot sa te ajut... cum ziceam, ideal ar fi sa avem acces la sursele tale si sa vedem ce ai exact acolo. :)
... voi incerca sa iti fac un exemplu simplu ( totul se bazeaza pe clasa Loader ).

PS: Cu un tutorial nu te pot ajuta, deoarece nu cred ca astfel de lucruri sunt acoperite in tutoriale ( nu spun ca nu ar exista tutoriale care sa rezolve probleme asemnatoare, dar fara sa intelegi anumite concepte de baza, o sa-ti fie foarte greu sa rezolvi problema singura ). In mare, ideea e: Instantiezi un obiect de tipul Loader la care te inscrii la evenimentele PROGRESS si COMPLETE si incepi sa incarci un .swf chemand metoda load(); pe acea instanta de Loader. Cu event listener-ul de PROGRES, poti monitoriza load-ul ( cat s-a incarcat din .swf-ul dorit ) iar la COMPLETE ai deja acces la intregul .swf si il poti afisa ( adauga la display list cu addChild(); ). Again, daca ai timp / chef, citeste despre clasa Loader pana revin cu un reply ( cel mai probabil in weekend candva sau candva la inceputul saptamanii viitoare cand ajung back home... )
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Re: Preloader

Mesajde lemon_tree » Mie Sep 12, 2012 1:34 pm

Eeee ce veste buna mi-ai dat! :D :P Mersi mult de tot. O sa citesc despre clasa Loader si astept sa dai un semn de viata.
Mersi mult de tot si iti raman profund indatorata. Am facut par alb din cauza preloaderului asta...si nu glumesc :oops: .
lemon_tree
 
Mesaje: 4
Membru din: Mie Sep 05, 2012 2:50 pm

Re: Preloader

Mesajde Barna Biro » Lun Sep 17, 2012 6:22 pm

Hello again! Am facut un exemplu rapid:

1) MainPreloader.swf care este preloader-ul pentru aplicatia principala
2) Main.swf este aplicatia principala
3) childSwf1.swf, childSwf2.swf, childSwf3.swf sunt "copii" care se incarca in Main.swf

Main.swf contine 3 butoane care apasate, incarca .swf-urile "copil". Swf-ul copil este incarcat si afisat intr-un container ( un Sprite creat dinamic ). Daca exista deja un .swf copil incarcat ( container-ul nu este gol ) atunci prima oara se sterge continutul incarcat anterior din container si pe urma se afiseaza continutul incarcat recent. Nu am facut o animatie vizuala pentru preloadere, am doar afisat un mesaj de loading cu trace(); dar poti inlocui acea parte cu logica pentru a anima un preloader.

PS: Ai nevoie de Flash Professional CS5.5 pentru a deschide .fla-urile. Swf-ul de la care porneste totul este MainPrelodare.swf, deci lanseaza acel .swf prima oara. Nu ezita sa pui intrebari daca ceva nu este clar.

Example.zip
(29.34 KiB) Descărcat de 192 ori
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland

Re: Preloader

Mesajde lemon_tree » Mie Sep 19, 2012 10:00 am

Mersi mult de tot. L-am descarcat acum. Ma voi uita pe el, insa cel mai probabil voi incerca sa fac ceva in weekend. Daca intampin greutati, te voi mai stresa :D
Ps: am mai cautat pe forum cate ceva si am gasit si ceva resurse pentru AS3. Ma apuc de studiu. :oops: Mie una mi-a fost foarte util linkul ala catre site-ul chinezesc cu resurse pentru invatat AS3 (http://www.riabook.cn). Am mai incercat acum ceva vreme sa ma apuc de studiu, insa am cumparat o carte scrisa tare prost si asta m-a descurajat de tot.
Iti multumesc inca o data pentru ajutor.
lemon_tree
 
Mesaje: 4
Membru din: Mie Sep 05, 2012 2:50 pm


Înapoi la ActionScript 3.0

Cine este conectat

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

cron