Ver Mensaje Individual
  #7 (permalink)  
Antiguo 09/03/2005, 15:25
Avatar de ChapaGonzalo
ChapaGonzalo
 
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 19 años, 8 meses
Puntos: 2
Tutorial de Preload...

Hola de nuevo Rodrigovco...

Para hacer un preload primero creá una nueva escena, pero que sea la primera en reproducirse... !...

En esta escena creamos dos fotogramas (KEYFRAME)

Al primer fotograma le ponés el siguiente código:

Cita:
porcentaje = (_framesloaded/_totalframes)*100;
bytes = _root.getBytesLoaded() add " Bytes cargados de " add _root.getBytesTotal() add " Bytes totales";
cargados = int(porcentaje) add " % Cargado";
if (porcentaje>=100) {
gotoAndPlay ("inicio");
} else {
_root.barra._xscale = porcentaje;
play ();
}
Y al segundo fotograma le ponés este:

Cita:
gotoAndPlay (_currentframe -1)
Ahora te voy a explicar como funciona esto...

Cita:
gotoAndPlay (_currentframe -1)
Indica que te lleve al frame que uno esta pocisionado - 1. Ej: Cuando lea este código estará ubicado en el frame dos, entonces 2-1=1...Jejeje!

Cita:
porcentaje = (_framesloaded/_totalframes)*100;
En esta linea declaramos una variable, la cual se llama porcentaje, y lo que hace es una ecuación sencillita, divide los frames cargados entre los totales (_framesloaded entres _totalframes; ambas propiedades que flash toma automaticamente de nuestro archivo) y el resultado de esa división lo multiplica por cien (100) y con esto saca el porcentaje de la película cargada. Nos traerá como resultado una cantidad con decimales.

Cita:
bytes = _root.getBytesLoaded() add " cargados de " add _root.getBytesTotal();
Aqui tenemos otra variable, en este caso se llama bytes, y nos servirá para decirnos cuantos Bytes de nuestra película se han cargado (el peso del archivo). La propiedad getBytesLoaded() nos trae los Bytes cargados y la propiedad getBytesTotal() los bytes totales (el peso de la película) y lo que hace es crear una cadena de caracteres por medio de una concatenación que es ni más ni menos que juntarlo todo:


Cita:
_root.getBytesLoaded() add " Bytes cargados de " add _root.getBytesTotal() add " Bytes totales"
Si nos damos cuenta entre cada una de las propiedades tenemos un add que es el signo que nos juntará las cadenas de texto en una sola. En medio tenemos entre comillado un " cargados de " ¿se imaginan que hará esto? Suponiendo que ya se termino de cargar una película de 100 kbs, nuestra variable bytes quedará: 1000 Bytes cargados de 1000 Bytes totales.

Cita:
cargados = int(porcentaje) add " % Cargado";
En esta variable mostramos el porcentaje cargado, recuerden que ya lo calculamos con la primera variable pero no se lo hemos mostrado al usuario, para ello es necesario crear un campo de texto que lo almacene, en la barra de herramientas seleccionamos la de texto y arrastramos en el escenario para dibujar el campo. Luego en la ventana de propiedades en donde dice texto estático/static text seleccionamos la opción de texto dinámico/dinamic text. Luego se activara en ese mismo panel de propiedades un campo que dice var, ahi escribimos "cargados" (sin comillas). Lo que hace la variable "cargados" es pasar el valor de porcentaje (el que les había dicho que era un número decimal) a enteros con la acción int (porcentaje) y le concatena una cadena que dice "% Cargado". Con lo que en el campo de texto que acabamos de dibujar irá apareciendo un número que estará variando del 0 al 100 conforme se vaya cargando la película: 100% Cargado

Cita:
if (porcentaje>=100) {
gotoAndPlay ("inicio");
} else {
_root.barra._xscale = porcentaje;
play ();
La traducción de if es algo así como "si...", pero no el "sí" de afirmación sino un condicional, es decir, si pasa esto, si pasa lo otro, entonces, aqui lo que le decimos a flash es: si (porcentaje es mayor o igual a 100) {(entonces)
gotoAndPlay ("inicio") (ve a "inicio" y empieza la función baby)
} de otro modo { (si porcentaje NO es mayor o igual a 100)
_root.barra._xscale = porcentaje (esto lo expliacare en el siguiente párrafo*)
play(); (ve al segundo frame, y por ende regresate pa'ca hasta que porcentaje sea mayor o igual a 100, jejeje)
}

Esa es la esencia del precargador.

Podemos también crear una barra que se vaya llenando conforme se vaya cargando la película, para ello es necesario crear una movie clip; dibujamos un rectángulo en la escena principal, lo seleccionamos, presionamos F8 y nos aparecerá un ventana. Seleccionamos Movie Clip y le ponemos un nombre, el que sea. Luego, ya que lo creamos, lo seleccionamos y en el panel de propiedades, en el campo de nombre de instancia le ponemos un nombre, en este caso "barra" (SIN COMILLAS).

La acción que quedó pendiente de explicar:

_root.barra._xscale = porcentaje

Como dije arriba, lo que hará este precargador es estarse moviendo entre los fotogramas 1 y 2 hasta que se cumpla la condición de que porcentaje sea 100 o mayor, y las variables se actualizarán cada vez que pase por el frame 1. Eso es todo...

Saludos...Chapa?...