martes, 8 de mayo de 2012

Programando VIII – ActionScript 3: MovieClips

Los MovieClip son una clase de objetos que usa ActionScript para generar peliculas Flash y que ya tiene una serie de propiedades con las que podemos cambiar su tamaño, posición, rotación, etc. Son algo así como contenedores donde podemos meter gráficos estáticos o animados (tienen su propia linea de tiempo para incluir fotogramas en Flash), así que son perfectos para crear videojuegos.

Imaginemos un MovieClip que contiene el gráfico de una nave y que, al pulsar las teclas de dirección, podemos hacer que cambie su posición en cada fotograma para que nos cause la sensación de que se está desplazando. ¡Videojuegos!

¿Cómo creamos un MovieClip?

Generando una instancia del tipo MovieClip a través de Flash (bajar una versión de prueba en esta dirección y podremos trabajar con ella una temporada) y haciendo que este disponible para ActionScript desde el inicio. Después vamos a crear una instancia (una copia) del MovieClip que acabamos de crear usando el operador new, y por ultimo, usaremos addChild para añadirlo a la pantalla.


var myMovieClip:MC_nuevo = new MC_nuevo(); 
addChild(myMovieClip); 

Vamos a ver como poner unas cuantas naves en pantalla (El gráfico es mío, podeis usar cualquiera que tengais por ahí).

 // Referirnos a propiedad de una instancia -> nombre instancia con punto y su propiedad 

//Si definimos el MovieClip como accesible podemos usar su codigo para crear copias 
var nuevaNave:MC_Nave = new MC_Nave(); 
addChild(nuevaNave); // addChild hace visibles las copias en la pantalla 

// Ahora cambiamos sus propiedades 

nuevaNave.x=100; 
nuevaNave.y=200; 
nuevaNave.rotation=90; 

 // Para crear muchos objetos sin demasiado código tenemos los bucles 

var contador:Number=5; 
    while (contador>0){ 
        var otraNave:MC_Nave = new MC_Nave(); 
        otraNave.x=50*contador+50; 
        otraNave.y=50*contador; 
        otraNave.scaleX=contador*.2; 
        otraNave.scaleY=contador*.2; 
        addChild(otraNave); 
        contador--; 


La salida sería la siguiente:


Donde como vemos, tenemos un objeto MovieClip que pone nuestra nave en pantalla y nos permite cambiarle el tamaño, rotarla o situarla en distintos puntos de la pantalla con tan solo cambiar los valores de sus propiedades que, entre otras, son:

rotation -> para la rotación.
x -> para la posición horizontal de la nave.
y -> para la posición vertical de la nave
scaleX -> para la escala horizontal
scaleY -> para la escala vertical.

Como vemos en el while, tambien podemos hacer cuantas copias queramos de nuestro MovieClip, de nuevo usando el operador new.

Pronto otros tipos importantes de objetos en ActionScript: Botones y Graficos.

No hay comentarios:

Publicar un comentario