Prototype.

Por Andrés Cuartero Alonso

e-mail:andres@andrescuartero.com


      1.- Explicación
      2.- ¿Cómo probar la película? y ejemplo en SWF.
      3.- ¿En qué servidor puedo colocar la pelicula para probarla?
      4.- Códigos Utilizados
      5.- Descargar código Fuente
      6.- Valora la explicación
      7.- Comentarios realizados
      Explicación Anterior: Creación de un Preload
      Explicación Siguiente: Crear una máscara con degradado sencilla.

EXPLICACION

Una idea de PROTOTYPE puede ser la creación de una función para ser ejecutada desde cualquier MOVIECLIP. En nuestro ejemplo, para explicarla, utilizaremos una función que desplace un objeto desde la posición en la que se encuentra hasta otra ubicación.

Lo que haremos será crear un Cip de pelicula en la biblioteca (que llamaremos Cuadrado) para colocarlo posteriormente en la capa 1, fotograma 1 de la escena 1 de nuestra película:

Colocando Objeto de la biblioteca en zona de trabajo

Lo siguiente será crear una nueva capa y seleccionar su fotograma 1 (que estará vacio) para poder escribir en el panel Acciones - Fotograma el siguiente código:

Si pulsas sobre la imagen, podrás copiar el código

¿Qué hace este código?

Crea una función llamada mover que depende de un valor llamado hasta y de un MOVIECLIP que es representado en el código por this.
En la quinta línea de este código vemos que se indica a flash que cambie la posición X del mocieclip desde el que se llamó a la función. La nueva posición será la que tenía mas el valor de la variable VELOCIDAD. Esta variable depende de otra a la que hemos llamado DISTANCIA, que es la distancia que existe entre la posición actual del MC y la posición final (hasta). Para que el objeto se mueva decelerando , vamos dividiendo la distancia entre 5 (aunque puede probarse con cualquier otro valor).
Veamos con imagenes esta explicación:

Esquema de como avanza el objeto

Observa como cada vez se reduce tanto la DISTANCIA como la VELOCIDAD, por esa razón DECELERA el objeto.
Si no colocamos la variable VELOCIDAD, no daría tiempo a ver como se desplaza, ya que la DISTANCIA (hasta-this._x) se sumaría a la posición del objeto y este estaría en un solo paso en la posición HASTA.

El siguiente paso es seleccionar el MovieCLip en el escenario y darle nombre, en nuestro caso (FORMA):

Nombrar un MocieClip

Seguidamente, teniendo seleccionado el MocieClip, introducimos este código en el panel Acciones - Clip de pelílcula:

Si pulsas sobre la imagen, podrás copiar el código

¿Qué hace este código?

Podemos decir de forma coloquial que "cuando se entre se tenga que mostrar el MovieClip" se ejecute la función MOVER(500) , donde 500 es la posición hasta la que deseamos que se desplace el el objeto.

Hasta aquí estaría ya creada la función y debería funcionar el ejemplo.

¿Cómo probarla?

Para poder probar el código basta con hacer CTRL+INTRO o abrir el menú Control y seleccionar Probar Pelicula:

Captura de como probar la pelicula

Debe aparecer algo igual o parecido a esto:

¿En qué servidor puedo colocar la pelicula para probarla?

En cualquier servidor.

Si no tienes, prueba a darte de alta en Geocities, utiliza los mismos datos de usuario que Yahoo!.

Códigos utilizados:

CODIGO DE LA FUNCIÓN (en Fotograma 1 de capa 2)
MovieClip.prototype.mover =function (hasta) {
this.onEnterFrame=function(){
distancia=hasta-this._x;
velocidad=distancia/5;
this._x+=velocidad; };
}
LLAMAR A LA FUNCIÓN (en MocieClip de la capa 1, fotograma 1 - Clip de película Forma -)
onClipEvent(enterFrame){
mover(500)
}

Valora la explicación

Valoracion:
Nick o email:
Comentario:
(200 Caract. Max)
 

Comentarios realizados:


Comentario 4- Por Juan Muro, 25/11/2005 19:43:19
Valoración: Buena
Los prototipos ya no los usamos, casi, desde Flash MX. Ahora, en Action Script 2 se usan las clases en su lugar.
———
Comentario 7- Por wilma, 29/01/2006 0:58:07
Valoración: Muy buena

———
Comentario 11- Por samy200384@hotmail.com, 15/03/2006 20:03:29
Valoración: Muy buena
Es muy buena de verdad que si.
———
Comentario 17- Por dustersito@hotmail.com, 03/05/2006 23:29:12
Valoración: Buena
esta bastante interesante
———
Comentario 54- Por Hemo, 11/02/2008 19:13:42
Valoración: Muy buena
Gracias! muy buena data!
———