Preloader [Flash]

Iniciado por Azielito, 13 Abril 2004, 00:03 AM

0 Miembros y 1 Visitante están viendo este tema.

Azielito

Como veo que hay muchas dudas sobre este tema, pongo algunos ejemplos de como hacer algunas cosillas...

Empezamos con un "Preloader"...


Tenemos que crear un simbolo con 100 fotogramas, en el fotograma numero 100 metes este codigo( Primero seleccionas el fotograma, no el simbolo):
tellTarget("_root")
{
    play();
}

Es el que nos llevará al inicio de la animacion :)

Despues, ya teniendo esto, a este sumbolo, lo colocamos en el primer fograma de nuestra animacion (ovio)...

Seleccionamos nuestro simbolo y, vamos a las acciones y, metemos este codigo(esta vez si va a ser el codigo en nuestro simbolo):
onClipEvent (enterFrame)
{
    gotoAndStop(int(_parent.getBytesLoaded() * 100 / _parent.getBytesTotal()))
}

Es el que calcula los bytes cargados de nuestra pelicula :)

Eso es todo con respecto a el Preloader :)

Azielito

#1
Pues, otro script que me gusta mucho y que podemos usar muchas veces, es este, el scrollbar, empesemos...

Lo primero es crear dos botones; "Arriba" y "Abajo" (por ejemplo), en el boton para ir hacia arriba, tendremos que poner un codigo asi:
on (press)
{
    dir = -1;
}

on (release, rollOut)
{
    dir = 0;
}

Este nos funcionará para navegar hacia arriba...

En el segundo boton, el codigo es similar, es este:
on (press)
{
    dir = 1;
}

on (release, rollOut)
{
    dir = 0;
}

Si se dan cuenta, lo unico que cambia es "-1" por "1".

Despues, creamos un simbolo (clip de pelicula) donde estarán nuestros dos botones (Arriba y Abajo), en este, pondremos el sigente codigo:
onClipEvent (enterFrame)
{
    if (dir != 0)
    {
        _root.nam.scroll = _root.nam.scroll + dir;
    }
}


Donde nam es un texto con las siguientes caracteristicas:
Texto dinamico
Generar texto como HTML
Nombre: nam
Y, el formato ya es cuestion tuya :)

Y, eso es todo para poner nuestro Scrollbar.

Azielito

#2
Pues otra forma y, aprovechando que estamos aqui con esto del ScrollBar, aprovecharé para poner la carga de un archivo de texto...

Nuevamente, creamos dos botones para "clasificar" el "Arriba" y "Abajo", al boton de "Arriba", le ponemos este codigo (una ves en ecena)
on (press) {
   text.scroll  = text.scroll-1;
}

al boton "Abajo" seria esto:
on (press) {
   text.scroll  = text.scroll+1;
}


Con eso tenemos nuestro "ScrollBar" mas sencillo que la ocacion pasada, ahora, continuamos con la Carga de archivo de texto...


Creamos una instancia con la herramienta "texto" con las siguientes caracteristicas:

Introducción de texto
Tipo de linea: Multilinea
Seleccinable
Generar texto como HTML
var: text

Esto ultimo es opcional claro, tambien el nombre de la variable (por eso es variable), ahora
En el primer fotograma, insertamos este codigo:

loadVariablesNum("texto.txt", 0);

aqui es donde se carga el archivo texto.txt, este nos puede servir para las "noticias" de una web ;D

Nota: el archivo que se cargue debe de tener como formato:
&variable=valor&
Por ejemplo que tengamos el titulo, contenido y autor seria asi
&titulo=Aziel aprende Flash&contenido=Si, asi es como lo oyen Aziel esta aprendiendo Flash y ActionScript aun no se sabe de donde esta estudiando pero se sabra XDDD&autor=Anonimo&
Puede cargar archivos PHP, ASP, TXT, y casi (CASI) cualquiera :)

Azielito

#3
Una de las cosas que nos sirve mucho de ayuda es la carga de peliculas (archivos SWF) en un documento de Flash, pues, en esta ocacion sabermos como hacerlo ;D

Necesitamos
Un boton (para que al darle click carge la pelicula)
Un cuadro con el nombre de "cuadro"
Detener la pelicula en "x" forogtama donde querramos que carge nuestra pelicula :)

Ahora, en el mismo fotograma ponemos el cuadro y nuestro boton
El boton llevará el sieguiente codigo:
on (release) {
loadMovie("pelicula.swf", cuadro);
}

donde pelicula.swf es la pelicula que vamos a cargar y, cuadro es nuestro cuadro con el mismo nombre, o sea, donde se posará la pelicula, y bien, eso es todo pot hoy ;D

Nota: Hay un ejemplo para descargar al pie de este post (solo registrados)

BADBYTE-K

me interesa aprender a hacer preloader`s gracias por la info la estudiare...


saludox

Morris

No se compliquen, un preloader es un simple ciclo que corre hasta que la pelicula ha sido cargada o los frames que queremos que se pre-carguen.

Ahí les va una explicación simple:

En el cuadro 1 escribimos loading y ponemos este actionscript:

play();


En el cuadro 3 ponemos un actionscript similar a este:

inicio

ifFrameLoaded (_totalframes) {
    gotoAndPlay("inicio");
}


*** "inicio" puede ser remplazado por un número de cuadro
o simplemente creen un label a un keyframe llamado

En el cuadro 5 ponemos un actionscript así:


gotoAndPlay(1);



Lo que hace:

La línea de tiempo comienza a transcurrir pasa por el frame 3 y se pregunta si la animación COMPLETA ha sido cargada. Si no ha sido cargada sigue su camino. Al llegar al cuadro 5, se regresa al primero y se corre un ciclo que no termina hasta que la condición se cumpla. ¿Cuál condición? Si todos los frames han sido cargados. Qué es esta:

Citar
ifFrameLoaded (_totalframes) {
    gotoAndPlay("inicio");
}

A partir de este script se puede modificar lo que sea y hacerlo complejo. Sin embargo, cómo hacer algo a nuestro gusto si no entendemos lo que hace.  :D

::FAQ::
¿Cómo puedo hacer para que no cargue toda la película y sólo cargue hasta un frame predeterminado?


ifFrameLoaded (50) {
    gotoAndPlay("inicio");
}


*** Donde 50 es el frame hasta donde queremos llegar

Morris
Carta Poder
Ejemplos
Memorandum
Carta Recomendacion
www.ejemplode.com/12-clases_de_espanol/

Azielito

Siguiendo con esta serie de codigos de ActionScript ahora les presento otro para cargar un sonido externo, por ahora solo se cargarlo, reproducirlo y detenerlo por completo, aun no se pausarlo XD

Vamos a hacer un boton que diga "cargar musica" (o sonido, o cancion o como se te de la gana )
Una vez que lo tengas, en l a escena principal lo seleccionas y vas al panel de Acciones (En el menu Ventana seleccionas Acciones ( F9 ))
y, pones el siguiente codigo
on(release){
_root.cargando._visible = true;
_root.cargar._visible = false;
ruido = new Sound();
ruido.loadSound("cancion.mp3",false);
this.onEnterFrame = function() {
total = ruido.getBytesTotal();
cargado = ruido.getBytesLoaded();
if (cargado == total && total>0) {
_root.escuchar._visible = true;
_root.cargando._visible = false;}
};
}

Tenemos muchos elementos :o ahora tratare de explicarlos

on(release){:
es la accion basica de un boton, le da la instruccion de que se ejecuten las acciones cuando se "suelte" el click

_root.cargando._visible = true;
Para hacerlo bonito con un precargador he puesto esto :D, a dicho elemento le ponemos por nombre "cargando"
lo de "_visible = true;" es lo que hace todo; lo hace visible (mas adelante veremos para que nos sirvio, aun que seguro ya se imageinan para que :P )
_root.cargar._visible = false;: Lo mismo que el anterior solo que este Oculta nuestro elemento, en este caso asi le puse a mi boton se llama "carar" si, si, al boton que le aplicamos este codigo asi se llama para ocultarlo una vez que le damos click

ruido = new Sound(); esta es la parte verdaderamente importante, con esto le asignamos a la variable ruido el valor de sonido, o sea, le decimos que la variable "ruido" es un objeto de sonido :D

ruido.loadSound("cancion.mp3",false);: lo mejor de todo, aqui es donde al sonido que acabamos de hacer le decimos que cargara un sonido :D
Cita de: FLASHLA.COMUso
sonido.loadSound("ruta",stream)
Parámetros
sonido > el objeto de sonido
ruta > la ruta hacia el mp3 a cargar
stream > se refiere a reproducirlo o no mientras lo está cargando. Los valores pueden ser true o false
Valor Devuelto
Ninguno

Descripción
Carga un archivo mp3 al objeto de sonido. Se usa el parámetro stream para reproducir el sonido mientras se descarga. Si el parámetro es false, entonces el sonido es del tipo de un evento.
Un evento de sonido responde a todos los métodos y propiedades de actionscript, el sonido se empieza a reproducir cuando está totalmente cargado.
Si el parámetro es true, entonces el sonido es un stream, no responde a muchos métodos de actionscript y se reproduce cuando se descargan los suficientes datos para reproducirlos.

this.onEnterFrame = function() {: Iniciamos una funcion cualquiera :P

total = ruido.getBytesTotal();: a la variable total le asignamos el valor del total de bytes de nuestro objeto de sonido "ruido"

cargado = ruido.getBytesLoaded();: A la variable cargado le asignamos el total de bytes cargados

if (cargado == total && total>0) {: Un simple condicional, si el total cargado es igual al total de bytes y el total es mayor a cero

_root.escuchar._visible = true;: hacemos visible nuestro boton "escuchar" que es un boton con el siguiente codigo
   on(release){
ruido.start(0, 1);
_root.detener._visible = true;
_root.escuchar._visible = false;
}

donde el codigo importante es:
   ruido.start(0,1);: Bien, con esto iniciamos nuestro sonido que hemos estado construyendo :D



Cita de: FLASHLA.COMUso
sonido.start(segs_offset,vueltas);

Parámetros
(ambos parámetros son opcionales)
segs_offset > define en qué segundo deseamos que comience el sonido
vueltas > el "loop" o número de vueltas que deseemos que se repita el sonido

Valor Devuelto
Ninguno

Descripción[/i]
Este método reproduce el sonido desde la ubicación especificada en segs_offset. Si no hay parámetros, el sonido comienza desde el principio.

Los otros codigos es para mostrar y ocultar botones
_root.detener._visible = true;//estos dentro del boton 'escuchar'
_root.escuchar._visible = false;//este tambien dentro de ese boton

_root.cargando._visible = false;}// con este ocultamos el simbolo de "cargando" y va en el boton de 'escuchar'

} // con esto terminamos nuestra accion al boton 'escuchar'


Bueno, creo que por el momento es todo ...
aaaaaaaaa nooooooo!! falta algo!

para detener el sonido es simple XD, con este codigo en un boton 'detener'
on(press){
ruido.stop(); // Este es el que hace todo :P detiene el objeto de sonido 'ruido'
_root.detener._visible = false; // ocultamos el boton 'detener' que es el mismo al que aplicamos este codigo
_root.escuchar._visible = true; // hacemos visible el boton de 'escuchar' para que lo puedan escuchar de nuevo =)

}


Con esto concluyo el pequeño mini tutorial para la carga de un sonido externo en Flash :D
dejo un ejemplo adjunto (Solo para usuarios registrados)


Por cierto! en el fotograma uno al incicio de la pelicula debemos poner este codigo
_root.escuchar._visible = false;
_root.detener._visible = false;
_root.cargando._visible = false;

que lo unico que hace es ocultar los botones :)