Tengo dudas sobre la animación flash para una página web

Hola, soy novato en flash y estoy preparando unas pequeñas animaciones para mi web. Me gustaría saber como hacer una precarga de las típicas de cargando y que aparezca el porcentaje o una barra. Otra pregunta es como se hace para que las animaciones sean instantáneas casi, como en la página del periódico el mundo oen ebay.

1 Respuesta

Respuesta
1
Hay varias maneras de realizar preloaders, mucho tiene que ver la versión de flash que se va a utilizar y que objeto queremos cargar y de que manera.
Básicamente cualquier preload funciona de la misma manera, en el primer frame de la peli, se le dice que mientras la carga sea menor al total se mantenga dentro de dicho frame o frames que son los que se muestran en la precarga, y que cuando alcance el total de frames vaya a otro frame o escena donde está la peli "real".
Acá te paso una lista de ejemplos que podrás descargar y ver como están hechos. Donde además en otras secciones de estos sites encontrarás muchísimos ejemplos más, ambos son buenas fuentes para aprender.
http://www.flashkit.com/movies/Scripting/Preloaders/index.php
http://www.actionscript.org/movies-results.php?searchTerm=preload
Y te paso un ejemplo explicado
-----------------------------En el primer frame de la peli a cargar
if (_root.getBytesLoaded() == _root.getBytesTotal()) {
gotoAndPlay("inicio");
} else {
bytesLoaded = _root.getBytesLoaded();
bytesLeft = _root.getBytesTotal()-_root.getBytesLoaded();
bytesTotal = _root.getBytesTotal();
kbytesLoaded = int(Math.round((_root.getBytesLoaded()/1024)*100)/100) add " kb";
kbytesLeft = Math.round((_root.getBytesTotal()-_root.getBytesLoaded()/1024)*100)/100 add "kb";
kbytesTotal = int(Math.round((_root.getBytesTotal()/1024)*100)/100) add " kb";
percent = Math.round((_root.getBytesLoaded()/_root.getBytesTotal())*100) add " %";
loadBar = int((_root.getBytesLoaded()/_root.getBytesTotal())*200);
setProperty("barra", _width, loadBar);
}
Donde podes utilizar cualquiera de estos elementos o no. Me explico, aquí tendrías la posibilidad de poner
(En el primer frame) campos dinámicos que contengan la siguiente info:
KbytesLoaded: los kb cargados hasta el momento
kbytesLeft: los kb que faltan por cargar
kbytesTotal: los kb totales
percent: el % de kb cargados
loadBar: un MC que funcionaría como barra de porcentaje de cargado.
Y digo usar o no, porque en el caso de no querer utilizar alguno bien se puede anular borrando la línea de
Código o al no utilizrlo no se general errores, si no los querés borrar.
Bueno, para utilizar los campos dinámicos que muestren la info, deberás crearlos en el primer frame también
Y en cada uno deberás agregarle la variable correspondiente (kbytesLoaded, kbytesLeft, kbytesTotal, etc.).
Está programado para que se muestren valores absolutos (sin coma) y que además le agregue al final de la
info KB o % según corresponda, como verás.
En el caso de querer utilizar la barra, deberás crear un MC (en el primer frame) que sea un cuadrado y
Luego este mismo enmascarado en otro MC, ya que la modificación del cuadrado, que digamos que se estira en
Ancho, se genera para ambos lados. Prueba primero si no lo entendés sin la máscara para que veas
Exactamente como se va modificando.
También dependiendo del tamaño del cuadrado, deberás cambiar el valor de loadBar que al final dice *200 ya
Que esto rige el tamaño final del cuadrado. Por lo tanto variará dependiendo del tamaño inicial del
Cuadrado y de lo que vos necesites que quede como tamaño final al termninar de cargarse.
Luego simplemente deberás poner en el segundo frame de la peli un gotoAndPlay(1); para que el script del
Primer frame se ejecute hasta el término de carga especificado en
if (_root.getBytesLoaded() == _root.getBytesTotal()) {
gotoAndPlay("inicio");
Donde bien puede ser que vaya al frame con el label inicio, así como está o gotoAndPlay(3); o al frame que
Quieras que vaya cuando termine de cargarse.
-----------------------------
Y para tus pelis se carguen rapido, y para que cualquier cosa se cargue rapido en realidad, cuantos menos KB tenga, mejor.
Por eso, una buena optimización de kb es importante además de los preloaders. Si tenemos muchos gráficos vectoriales, debemos ver que estén construidos con la menor cantidad de vertices/nodos/puntos posibles, si tenemos muchos bitmaps debemos chequear sus KB en relación a la calidad, si usamos sonido, mejor usar mp3, también chequeando calidad/Kb y en el caso del flash, cuantos menos objetos utilicemos, mejor. Si tenemos un objeto que es un cuadrado, y en la peli aparecen muchos cuadrados, usando instancias del mismo reducimos Kb, no en gran escala, pero siempre cuando sea menos, mejor. Tampoco hay que sacrificar calidad siempre... hay que lograr un balance entre calidad/kb.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas