This is a discussion on Preloader con Bitmap within the Actionscript 3.0 avanzato forums, part of the Flash Italiano category; Sto provando a fare un preloader sfruttando una Bitmap larga 500px e alta 10px. 500 px rappresentano il 100%. Inizialmente ...
Sto provando a fare un preloader sfruttando una Bitmap larga 500px e alta 10px.
500 px rappresentano il 100%.
Inizialmente ho impostato un colore nero e in fase di caricamento disegno sulla mia bitmap tramite il metodo "fillRect" un rettangolo di colore rosso e di larghezza proporzionata al "progresso".
Il listener agganciato all'evento EventProgress (che mi disegna il rettangolo rosso) viene chiamato ad ogni 1% (verificato tramite il trace)... il problema è che l'effetto di caricamento non è fluido!!!!
A volte è fluido per un breve tratto... poi si ferrma e salta ad esempio al 100% tutto d'un colpo. Perchè?
Non dovrebbe dipendere dal framerate... E' una limitazione dovuta alla velocità con cui viene realizzato il rettangolo e aggiornata la Bitmap?
Di seguito un piccolo esempio del codice. MultipleImageLoader è una mia classe che gestisce il caricamento multiplo di immagini.
grazieCode:var bmpProgress:Bitmap = new Bitmap(new BitmapData(500, 10, false, 0x000000)); bmpProgress.x = 10; bmpProgress.y = 10; this.addChild(bmpProgress); var imgLoader:MultipleImageLoader = new MultipleImageLoader(); imgLoader.addEventListener(MultipleImageLoader.DOWNLOADPROGRESS, progress) function progress(e:ProgressEvent) { //e.bytesLoaded va da 0 a 100. AggiornaBarra(e.bytesLoaded); } function AggiornaBarra(valore:Number) { var p:int = int(valore); var xx:Number = p * 5; bmpProgress.bitmapData.lock(); bmpProgress.bitmapData.fillRect(new Rectangle(0, 0, xx, 10), 0xFF0000); bmpProgress.bitmapData.unlock(); }![]()
Last edited by Lit; 14-09-08 at 20:00.
Bookmarks