Precargar un SWF en el WEB mesaje (Cargando...)

Mi pregunta es muy simple... Bueno eso creo... Ya tengo la animación con el supuesto CARGANDO, je pero no se como se usa ... Que instrucción se tiene que poner.
Tengo otra peguntilla un tanto interesante, no sabes tu si se puede cambiar el color de tu pantalla el que predeterminar al principio de la animación en las propiedades de la página, pero en tiempo de ejecución, es decir que empiece en negro y la pueda cambiar a azul.

1 Respuesta

Respuesta
1
Si no te importa te voy a responder al revés. Primero lo del fondo de color (y dejamos todo el lío de la precarga para el fina).
El color de fondo es una propiedad que no puedes cambiar de forma gradual (igual con scripts muy avanzados se puede pero no he visto nadie que lo haga, pues hay otro método más simple). Lo que se hace es jugar con instancias de un objeto rectágulo con el color deseado. Es una forma tan sencilla que tu película apenas la notará y es muy rápido, cómodo y flexible. Ten en cuenta qué color es el que más tiempo aparece en la película y, usa ese como color de fondo en las propiedades; el que menos aparece, úsalo como un objeto. Esto hará que aún pese menos la película final.
Ten en cuenta que el uso de un rectángulo como fondo, además de darte la apariencia del fondo de color que quieras, te permite "jugar" con las propiedades de color y alpha del objeto, permitiendo efectos muy interesantes.
Ahora vamos con la pre-carga:
Como bien dices, es algo muy sencillo (aunque después lo vamos a complicar un poco más si no te importa)
Supongamos que la animación de carga la tienes como un objeto tipo "movie" en la biblioteca... En una capa destinada a las acciones (crea una y llámala por ejemplo acciones o scripts o como mejor la identifiques) insertamos un primer fotograma clave; ahora nos vamos al panel "Acciones" e insertamos el siguiente script:
f (_framesloaded >= _totalframes) {
gotoAndPlay (3);
}
Ahora creamos un segundo fotograma clave e insertamos:
gotoAndPlay(1);
¿Qué hemos hecho?
Primero le hemos dado la condición de que compruebe si se han cargado todos los fotogramas de la película y, en caso afirmativo, que "salte" al fotograma 3 (donde comenzaría la película...) Si esa condición no se cumple, se reproduce la cabecera de forma normal con lo que "salta" al segundo fotograma que, por la acción lo manda de nuevo al primer fotograma... y eso se reproduce continuamente una y otra vez hasta que la acción se ejecute según la condición...
Entre los fotogramas 1 y 2 deberemos de poner la animación de "cargando..." aunque como ves, lo puedes hacer en cualquier otro fotograma, tan sólo cambiando el script. Si la animación la tienes en la misma línea de tiempos y te ocupa varios fotogramas, todo igual solo que el salto al fotograma 3 podría ser al 20 (o al que necesites) y, en vez del segundo script en el fotograma 2, este siempre ponlo uno antes que donde comenzaría la movie tras el script del primer fotograma, para asegurarnos que se reproduce la animación completa...
Con esto creo que te será suficiente pero, si quieres adentrar un poco más...
Suponemos que tienes el preload (animación o lo que sea) como objeto tipo movie en el frame 1...
Añadimos en la escena un texto "Cargando:" (por ejemplo) y otro texto para mostrar el porcentaje cargado hasta el momento... (hazlo en el mismo objeto tipo movie donde aparece la animación para la precarga) A este segundo texto, en las propiedades le asignamos "Dinámico" (en vez de estático) y le damos un nombre (para usarlo como variable) por ejemplo "valor" (sin las comillas)
A este frame le añadimos la acción siguiente:
onClipEvent (enterFrame) {
cargados = _root.getBytesLoaded();
totales = _root.getBytesTotal();
percent = (cargados/totales)*100;
valor = Math.round(percent)+"%";
if(cargados >= totales){
_root.gotoAndPlay(2);
}
}
(Te aconsejo que lo hagas activando el modo avanzado del editor de acciones, en una pestaña pequeña arriba-derecha del propio editor)
Con esto hemos añadido un texto CARGANDO y al lado aparecerá un texto donde mostrará el porcentaje% de carga que lleva en cada momento.
Por último, otro ejemplo... Es lo mismo que el anterior pero, con el siguiente script (le añadimos una línea):
onClipEvent (enterFrame) {
cargados = _root.getBytesLoaded();
totales = _root.getBytesTotal();
percent = (cargados/totales)*100;
valor = Math.round(cargados/1000)+"Kbs cargados de"+Math.round(totales/1000)+"Kbs ("+Math.round(percent)+"%)";
if(cargados >= totales){
_root.gotoAndPlay(2);
}
}
Con esto, además nos mostrará los Bytes cargados hasta el momento y el total de los mismos.
Espero que te sea útil y, recuerda que si necesitas más información me tienes aquí a tu disposición.
Suerte y un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas