Foros del Web » Creando para Internet » Flash y Actionscript »

Preloader en flash MX 2004

Estas en el tema de Preloader en flash MX 2004 en el foro de Flash y Actionscript en Foros del Web. Saludos, alguien sabe cómo puedo hacer un preloader en flash mx 2004? es decir que la pelicula no se inicie hasta no haberse cargado completamente ...
  #1 (permalink)  
Antiguo 30/05/2005, 19:12
 
Fecha de Ingreso: marzo-2005
Mensajes: 76
Antigüedad: 19 años, 8 meses
Puntos: 0
Preloader en flash MX 2004

Saludos, alguien sabe cómo puedo hacer un preloader en flash mx 2004? es decir que la pelicula no se inicie hasta no haberse cargado completamente y si es posible mostrart una barra con el progreso yl porcentaje. Yo se como hacerlo en el flash 5, pero si intento colocar el mismo script en flash mx 2004 no funciona, que hago?

Sepalaur
  #2 (permalink)  
Antiguo 30/05/2005, 20:49
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Hola SEPALAUR:
En la capa 1 frame 1 coloca 2 campo de texto dinámico con las variables: info y pocentaje, debajo de los campo de texto dibja un rectángulo de 150 x 7 y la conviertes en MC y le pones como nombre de instancia: barra
Crea la capa 2 y en el frame 5 empieza tu película.
Crea la capa 3 para las acciones y en el frame 1 coloca éste código:
setProperty("barra", _xscale, "0");
En el frame 2:
total = _root.getBytesTotal();
total1 = Math.floor(total/1024);
cargado = _root.getbytesloaded();
cargado1 = Math.floor(cargado/1024);
barra1 = (cargado/total)*100;
porcen = int(barra1);
porcen1 = (porcen/2)*3;
if (total>0) {
info = "Cargando.."+ cargado1 +"Kb de"+ total1 +" Kb";
porcentaje = "Cargado actualmente " + porcen +"%";
setProperty("barra", _xscale, barra1);
// se le resta el valor de porcen1 para hacer el movimiento if (total==cargado) {
gotoAndPlay(5);
}
}
En el frame 3: gotoAndPlay(2);

Espero haberte sido de ayuda
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 30/05/2005, 21:17
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 10 meses
Puntos: 3
¿Seguro que ese script sirve en FLASH MX 2004?, por lo que veo ese script está en AS 1.0 y MX 2004 utiliza AS 2.0
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #4 (permalink)  
Antiguo 31/05/2005, 00:01
Avatar de Viero  
Fecha de Ingreso: diciembre-2004
Mensajes: 104
Antigüedad: 19 años, 11 meses
Puntos: 0
Mira la verdad es que yo tmb he batallado en eso pero he encontrado un tutorial muy bueno que puede que te ayude (a mi si me ayudo y mucho)
La verdad es que no recuerdo de donde lo bajé pero espero que te sirva.

Requerimientos
• Conocimientos previos de programación
• Manejo básico de Flash MX o MX 2004
• Como nota adicional, este tutorial fue hecho con "Macromedia Flash MX 2004 Professional".
• Por ultimo, seria bueno que subieras a tu hosting en Internet (Si no tienes, hay muchos lugares donde puedes abrirlo gratuitamente) el ejemplo para probarlo descargando realmente de la web
Programando la precarga...
Actualmente existen muchos componentes que hacen automáticamente una animación de precarga de este estilo, pero que adicionalmente solo exigen como conocimiento previo saber arrastrar y soltar el componente en el escenario; sin embargo, cuando nosotros queremos tener el control de la animación de la precarga, o cuando queremos cambiar la típica "barra de carga" por un reloj, un velocímetro o lo que nos imaginemos, vamos a querer el control de nuestro código.
Por otro lado, el uso de un componente de precarga conlleva mas peso a la película que si la optimizáramos nosotros mismos, ya que la idea es que la precarga sea lo primero que cargue y que lo haga rápido, podemos optimizar cuanto queramos nuestro propio código.
Creando la animación
En este caso vamos a crear una animación de barra de precarga dentro de un movie clip que dure exactamente 100 frames, así cada frame será puesto en pantalla de acuerdo al porcentaje de carga.
He creado entonces una animación dentro de un movie clip cuyo largo serán 100 frames; en mi caso es una barrita que se va llenando hasta llegar a 100, como el ejemplo tradicional
La pongo dentro de un movie clip para dejar lo mas despejada la línea de tiempo principal, además, así será mas fácil controlar sus cambios; para terminar le pongo a ese movie clip el nombre barra_mc.
Porcentaje de carga y detalles
Es de presumir que también queremos presentarle al usuario el porcentaje de carga de nuestra película, para esto, en la línea de tiempo principal creamos un campo de texto de tipo "Dynamic Text", con la fuente que ustedes elijan para presentar el porcentaje de carga.
Es importante que sea "Dynamic Text" ya que ese tipo de campo de texto nos permite cambiar su contenido por medio de ActionScript, por otro lado se hace innecesario usar un "Input Text", ya que estos están destinados a permitirle al usuario introducir datos; "Static Text" no permite la manipulación de su contenido por código.
Ahora solo falta ponerle un nombre a nuestro Campo de Texto, lo llamaremos porcentaje_txt, este nombre lo colocan en la barra de propiedades seleccionando el campo de texto, en un área que dice <Instance Name>.
Nota: Mucha gente, en tiempos de Flash MX 2004, aun usa la propiedad de los campos de texto "var", la cual esta oficialmente desechada porque no ofrece la versatilidad que ofrece el nombre de instancia.
Para el caso de estos tutoriales, siempre se usara el nombre de instancia sobre cualquier opción "desechada oficialmente por Macromedia".
ActionScript de precarga
Por ultimo, lo mas importante será el ActionScript que realice la precarga de la animación, este debe ir en un KeyFrame, recomiendo crear un nuevo layer vacío, nombrarle ActionScript y ahí colocar este código, eso hará nuestras películas mas ordenadas y fáciles de depurar y reutilizar en el futuro.

/* Declaro la función de precarga "cargando", esta función se ejecutara
todo el tiempo hasta que haya cargado totalmente la película */
function cargando() {
// Declaración de variables
var total, cargados, porcentaje;
// A la variable "total" se le asigna el tamaño de la película en bytes
total = _root.getBytesTotal();
// A la variable "cargados" se le asignan el total de bytes hasta el
//momento descargados de la web
cargados = _root.getBytesLoaded();
//Por medio de una regla de tres obtiene el porcentaje cargado y redondea el valor con la función
//"Math.floor"
porcentaje = Math.floor((cargados*100)/total);
//Asigna al campo de texto porcentaje_txt el porcentaje cargado
porcentaje_txt.text = porcentaje + " %";
//Mueve la barra de carga al frame correspondiente al porcentaje
barra_mc.gotoAndStop(porcentaje);
//Si la cantidad de bytes cargados es igual a la cantidad total de bytes
if (cargados == total) {
//Hacer que se deje de ejecutar esta función
clearInterval(hiloPrecarga);
//Iniciar la película
play();
}
}
// setInterval nos servirá para que la función "cargando" se ejecute cada 1 milisegundo
// Así, nuestra función revisara constantemente la cantidad de bytes descargados
// y solo iniciara la película hasta que la descarga termine
// la variable "hiloPrecarga" nos servirá para saber que esta corriendo nuestra función
// y frenar su ejecución cada milisegundo por medio de "clearInterval"
var hiloPrecarga = setInterval(cargando, 1);
//Evita que inicie la película
stop();
__________________
La sabiduría crece con la “Sencillez” por que el orgullo es digno manifiesto de la “Ignorancia”
  #5 (permalink)  
Antiguo 31/05/2005, 04:26
 
Fecha de Ingreso: mayo-2005
Mensajes: 9
Antigüedad: 19 años, 6 meses
Puntos: 0
El tutorial que comenta viero funciona a la perfeccion pues yo lo tengo en mi pagina. Una explicacion completa junto con la descarga del ejemplo lo podes encontrar en www.cristalab.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:39.