Unidad 23. Animaciones avanzadas (I)

23.1. Movimiento de objetos mediante ActionScript

Para poder mover objetos con ActionScript debemos conocer el sistema de coordenadas utilizado por Flash.

La esquina superior izquierda es la posición x=0, y=0. (ver la imagen)

Para mover un objeto debemos modificar su posición definida por las propiedades objeto.x y objeto.y

Por ejemplo, si hacemos objeto.x += 10 estamos desplazando el objeto 10 píxeles hacia la derecha.

Vamos a ver como mover un objeto a partir de este ejemplo de una bola botando.

El algoritmo es muy sencillo, se trata de ir modificando la posición de la bola desde una posición inicial para que vaya bajando hasta que llegue al suelo, en ese momento invertimos el movimiento para que suba y calculamos hasta el tope que tiene que subir. Así sucesivamente hasta que deje de botar.

Para que la bola baje debemos sumar una cantidad a la coordenada y, y para que suba debemos restarle una cantidad. Si queremos que la bola se vaya desplazando hacia la derecha debemos sumar una cantidad a la coordenada x.

Cuando la bola baja, según el esquema de la imagen, pasa de la posición (x1, y1) a la posición (x2, y2), para ello se incrementa la x con el valor incre_x (que estaría representado por la línea azul) y se incrementa la y con el valor incre_y (que estaría representado por la línea roja).

Cuando la bola sube, la única diferencia es que la coordenada y va disminuyendo en lugar de aumentando, según el esquema de la derecha, al subir se pasa de la posición (x'1, y'1) a la posición (x'2, y'2), para ello se incrementa la x con el valor incre_x (que estaría representado por la línea azul) y se decrementa la y con el valor incre_y (que estaría representado por la línea roja)

esquema bola

Vamos a ver lo más importante del código ActionScript que tenemos un poco más abajo.

Hemos creado una bola azul y la hemos convertido en un movieclip, la instancia se llama bola_mc.

Inicialmente la bola esta en la posición (bola_mc.x= 0,bola_mc.y= 0)

Mediante la variable baja, sabremos si la bola esta bajando o subiendo. Cuando la coordenada y llega al suelo, la bola pasará a subir, cuando la coordenada y llegue al tope la bola comenzará a bajar.

En cada bote la bola ira perdiendo fuerza y el bote sera más bajo, la variable elasticidad determinará esta perdida de potencia.

Cada vez que la bola llega al tope calculamos el nuevo tope, para ello calculamos la distancia de la bola al suelo, la dividimos por la elasticidad y esa cantidad se la sumamos al tope.

En el esquema, la línea naranja representa esa cantidad que le sumamos al tope 1 para pasar al tope 2.

Pág. 23.1

Atrás  Inicio  Adelante