//Paramos la reproducción
stop()
//Creamos una variable que represente el porcentaje de la descarga
var porcentaje:int
//Iniciar la función "cargaInteligente" mediante
//un escuchador mientras se carga la película
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, precarga)
//Función "precarga" (calcula el porcentaje cargado)
function precarga(e:ProgressEvent){
//bytes cargados
var cargados:Number = e.bytesLoaded
//bytes totales
var totales:Number = e.bytesTotal
//porcentaje de carga
porcentaje = cargados*100/totales
}
//Iniciar la función "completado" mediante un
//escuchador cuando se ha cargado la película
this.loaderInfo.addEventListener(Event.COMPLETE, completado)
//Cuando la carga se haya completado...
function completado(e:Event):void{
//Reproducimos la película)
this.play()
//Eliminamos los escuchadores
this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, precarga)
this.loaderInfo.removeEventListener(Event.COMPLETE, completado)
}
//
//Como extra, añadimos un código para que se muestre
//el "porcentaje" en un campo de texto del escenario
this.addEventListener(Event.ENTER_FRAME, mostrarPorcentaje)
function mostrarPorcentaje(e:Event){
if(this.currentFrame == 1){
//Mientras que el fotograma actual sea el 1
//(que es donde debe situarse este código)
porcentaje_txt.text = String(porcentaje) + "%"
}else{
//En caso contrario, eliminamos el escuchador
this.removeEventListener(Event.ENTER_FRAME, mostrarPorcentaje)
}
}
Éste código crearía una precarga y la mostraría en un campo de texto llamado porcentaje_txt. Si quieren agregar algo más (por ejemplo, una barra que indique el porcentaje de carga), solo tienen que añadirlo a la función "mostrarPorcentaje", por debajo de la siguiente linea (línea 36 del código):
porcentaje_txt.text = String(porcentaje) + "%"
Al igual que hice en el otro tip, les dejo el código sin comentarios, listo para un copy-paste
Código :
stop()
var porcentaje:int
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, precarga)
function precarga(e:ProgressEvent){
var cargados:Number = e.bytesLoaded
var totales:Number = e.bytesTotal
porcentaje = cargados*100/totales
}
this.loaderInfo.addEventListener(Event.COMPLETE, completado)
function completado(e:Event):void{
this.play()
this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, precarga)
this.loaderInfo.removeEventListener(Event.COMPLETE, completado)
}
this.addEventListener(Event.ENTER_FRAME, mostrarPorcentaje)
function mostrarPorcentaje(e:Event){
if(this.currentFrame == 1){
porcentaje_txt.text = String(porcentaje) + "%"
}else{
this.removeEventListener(Event.ENTER_FRAME, mostrarPorcentaje)
}
}
NOTA: La línea que antes era la 36 es ahora la 18.
Buen dia,interesante tu aporte pero me preguntaba si este codigo me sirve para ponerlo en una pagina web para que me muestre la animacion de carga y que cada vez que paso de una pagina a otra me lo muestre en un cuadro en la mitad de la pantalla, o que tendria que hacer para conseguir este efecto. gracias Por:Donpez-blog
Que bueno el prilouder !! Por:john-blog
Buen dia,interesante tu aporte pero me preguntaba si este codigo me sirve para ponerlo en una pagina web para que me muestre la animacion de carga y que cada vez que paso de una pagina a otra me lo muestre en un cuadro en la mitad de la pantalla, o que tendria que hacer para conseguir este efecto. gracias Por:Diegomar-blog
no pasa nada contigo Por:hola-blog
Muchas gracias por tu aporte nestorrente, me va a servir para una aplicación que estoy realizando en estos momentos!
Por:joel_fox
jmmmm me adentraré más al AC 3.0 Por:mareol
//Paramos la reproducción
stop()
//Creamos una variable que represente el porcentaje de la descarga
var porcentaje:int
//Iniciar la función "cargaInteligente" mediante
//un escuchador mientras se carga la película
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, precarga)
//Función "precarga" (calcula el porcentaje cargado)
function precarga(e:ProgressEvent){
//bytes cargados
var cargados:Number = e.bytesLoaded
//bytes totales
var totales:Number = e.bytesTotal
//porcentaje de carga
porcentaje = cargados*100/totales
}
//Iniciar la función "completado" mediante un
//escuchador cuando se ha cargado la película
this.loaderInfo.addEventListener(Event.COMPLETE, completado)
//Cuando la carga se haya completado...
function completado(e:Event):void{
//Reproducimos la película)
this.play()
//Eliminamos los escuchadores
this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, precarga)
this.loaderInfo.removeEventListener(Event.COMPLETE, completado)
}
//
//Como extra, añadimos un código para que se muestre
//el "porcentaje" en un campo de texto del escenario
this.addEventListener(Event.ENTER_FRAME, mostrarPorcentaje)
function mostrarPorcentaje(e:Event){
if(this.currentFrame == 1){
//Mientras que el fotograma actual sea el 1
//(que es donde debe situarse este código)
porcentaje_txt.text = String(porcentaje) + "%"
}else{
//En caso contrario, eliminamos el escuchador
this.removeEventListener(Event.ENTER_FRAME, mostrarPorcentaje)
}
}
Listo me parece entendido pero bueno hasta la fecha aprendo hacer un loader lo hago con scenas separadas¡¡¿ Por:ir_z-blog
No copies el código, que ya está arriba, y ocupa bastante espacio (bueno, si tuvieras alguna duda, podrías copiar esa parte del código, pero ponla entre las etiquetas [ as ] y [ /as ]).
Hacer un preloader con varias escenas? A qué te refieres? Un fotograma es más que suficiente, y así es desde ActionScript 2 Por:nestorrente
Hola,
Muy bueno, muchas gracias.
Tengo una consulta eso si, ¿como puedo hacer para que en el texto dinámico, además del porcentaje, aparezca la palabra "cargando -"?
Gracias. Por:Rodrigo-blog
Rodrigo-blog :
Tengo una consulta eso si, ¿como puedo hacer para que en el texto dinámico, además del porcentaje, aparezca la palabra "cargando -"?
Lo primero daros las gracias por mlestaros en hacer esto fácil.
En cuanto al preloader,en mi ordenador funciona perfectamente, pero al subir la web a la red sólo aparece 0% en el campo de texto y no varia durante la carga. Por:krlotilla-blog
krlotilla-blog :
En cuanto al preloader,en mi ordenador funciona perfectamente, pero al subir la web a la red sólo aparece 0% en el campo de texto y no varia durante la carga.
Mmm... gracias por el aviso. Miraré eso a ver si puedo solucionarlo Por:nestorrente
me pasa igual que a krlotilla-blog...
aver si le echas un vistazo y dices que puede fallar, yo estoy en ello
merci Por:pakman-blog
Tengo un problema con el codigo, aparece el porcentaje en la pantalla pero se quedan en 0% porqué sera ? Por:Federico-blog
Yo no lo entiendo T_T Por:madmonkey360
El código está claro y en el papel tiene lógica.. el problema es que no anda 100% porque no está tomando correctamente el evento progress, porque sólo se dispara una vez cuando ya ha cargado prácticamente del todo. Por:dmac-blog
vota este error
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at miarchivo_fla::MainTimeline/mostrarPorcentaje()
x favor chekalo ojala me puedas ayudar...! muchas gracias de antemano\m/ Por:Manuel-blog