![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
Hey Amico Visitatore, Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Flash & ActionScript |
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
classe PicLoader
Ciao Flash gente,
avendo notato grossi problemi da parte di molti di voi nel caricare filmati o immagini esterne ho deciso di scrivere 2 righe a riguardo. Innanzitutto vorrei dire che ,a parte la logica Actionscript 2.0 che scriverò e che scaricherete, i concetti sono mie opinioni personabili nonchè consigli. I metodi della classe MovieClip: loadMovie e loadMovieNum sono stati implementati soprattuto per chi non ha una conoscenza piuttosto discreta di Actionscript. Questo non vuol dire che permettano di fare tutto e di monitorare i bytes di caricamento del filmato principale oppure di interagire completamente col filmato esterno una volta caricato come fosse una Movieclip. Personalmente il mio consiglio è di abbandonare questi 2 metodi ormai obsoleti e di utilizzare la classe MovieClipLoader per caricare filmati esterni o immagini esterne. Allego una classe scritta dal sottoscritto. Come noterete dal .fla viene istanziata la classe PicLoader e viene passato un valore (stringa) che è la path dell'swf esterno che volete caricare. A sua volta la classe PicLoader utilizza la classe MovieClipLoader per poter caricare l'swf esterno. Nel file .as c'è il metodo onLoadInit, questo metodo vi permette di interagire completamente con l'swf (una volta caricato) come fosse una movieclip e quindi utilizzare tutte le proprietà della classe Movieclip (ad esempio _x,_y,_alpha,_rotation ecc ecc ). ecco l'url per scaricare i files: http://www.actionscript.ws/gt_forum/PicLoader.zip Per favore se qualche moderatore può 'stickare' questo post in modo che gli utenti possano leggerlo gli e ne sarei grato. |
|
Ultima modifica di Flep : 02-08-06 17:46. |
|
|
|
|
|
|
|
|
#4 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
Si hai ragione, scusami tanto ...nella fretta mi è sfuggito.
Comunque l'ho aggiunto. Prova adesso: http://www.actionscript.ws/gt_forum/PicLoader.zip |
|
|
|
|
|
#6 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
No quello non è un mistero, cioè l'swf che c'era nello zip era già stato lanciato da me e quindi compilato con la classe PicLoader, per cui quando lo hai aperto funzionava bene, ma se aprivi il fla e pubblicavi l'swf allora in quel caso ti dava l'errore ' la classe PicLoader non è stata trovata' .
|
|
|
|
|
|
#8 (permalink) |
|
User Newbie
Data di registrazione: Sep 2006
Messaggi: 1
|
Ciao Flep, sono nuovo in questo forum. Mi sono imbattuto qui perchè ho problemi con un preload per filmati swf esterni per il nostro sito aziendale.
Il sito è: http://www.gesconweb.it/sito come potrai notare in alcune pagine i contenuti vengono caricati dopo, lo puoi notare sicuramente in PORTFOLIO e nei lavori descritti dentro. Nota bene, quando andrai ad aprire un lavoro in portfolio, che il primo lavoro che apri il loading no nparte, se ne apri un secondo invece si. Il problema vero è questo: I lavoro prensenti in portfolio sono sei singoli swf caricati esternamente mediante preload.swf che faccio caricare in un clip vuoto nel primo fotogramma di sogni swf esterno. Comprendi? Il codice del preload è questo: 1) fotogramma /* Definisco le variabili "bytes caricati" e "bytes totali" della movie che ospita il preload */ var caricando = _parent.getBytesLoaded(); var totali = _parent.getBytesTotal(); /* Quando questi due valori sono uguali il filmato che ospita il preload parte (va al frame 2) */ if (caricando == totali) { _parent.gotoAndStop(2); } /* definisco le variabili in kb e la percentuale di caricamento con valori interi */ var kbcaricati = Math.round(caricando/1024); var kbtotali = Math.round(totali/1024); var percento = Math.round((kbcaricati/kbtotali)*100); // da il valore al campo di testo dinamico percentuale.valore = percento; // nasconde la barra di scorrimento e la dimensiona. barra._xscale = 1; barra._visible = false; /* setta la visibilità della barra di scorrimento e la ridimensiona proporzionalmente alla percentuale di caricamento */ if (percento>1) { barra._visible = true; barra._xscale = percento; } 2) fotogramma gotoAndPlay(1); Sono arrivato alla conclusione che forse il loading è troppo pesante ma preload.swf pesa solo 21Kb e altri forum che lo hanno analizzato hanno detto che come peso va bene. Ora pero' come posso far visualizzare questi loading sempre e non trovarmi che i primi swf che carica non si vedono i successivi invece si? Aspetto con ansia una tua risposta e spero di essere stato chiaro. CiAO GRAZIE DEL TUO AIUTO. mickey |
|
|
|
|
|
#9 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
Ciao,
a me sembra che tutto funzioni correttamente. Dove non vedo la preloadBar penso sia perchè l'swf che carichi è leggero da riuscire a visualizzarla, ma il contenuto me lo apre subito. |
|
|
|
|
|
#11 (permalink) |
|
User Newbie
Data di registrazione: Sep 2006
Messaggi: 5
|
ciao Flep ho provato il tuo codice e devo dire..grandioso!!!!
però ho riscontrato che non si piazza su livelli ma direttamente sullo stesso livello del movie che lo richiama. come posso fare per spostarlo su un altro livello? grazie |
|
|
|
|
|
#12 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
Ciao giaiu,
non pensare ai livelli, dovresti pensre ai depths dell'swf (circa 16000). Per 'swappare' il suo depths basta che usi il metodo swapDepths() e lo metti dove vuoi. |
|
|
|