Ver Mensaje Individual
  #19 (permalink)  
Antiguo 23/10/2006, 13:44
Avatar de jahepi
jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Hola ceaped!


Bueno, creo que si utilizas la clase Tween vas a obtener mejores resultados y un mayor control sobre tu animación, al principio vas a decir y para que tanto código si lo que quiero en pocas líneas se puede hacer, pues cuando creas un objeto tween, al constructor se le pasan los siguientes parámetros y este conlleva varias ventajas:

1.- La referencia a la instancia del movie clip.
2.- La propiedad que quieres modificar del movie clip.
3.- La referencia al método estático de alguna clase que esta en el paquete mx.transitions.easing ( estos metodos son varios y cada uno es un tipo de animación por ejemplo bounce, elastic, etc... )
4.- Valor Inicial de la propiedad que especificaste en el punto 2.
5.- Valor Final de la propiedad que especificaste en el punto 2.
6.- Segundos que va a durar la animación.
7.- Booleano (true o false) que indica si el tiempo que especificaste en el punto 6 es en milisegundos o segundos, true indica que es en segundos.

Y aún más, cada objeto que crees de tween, tiene un evento que se dispara cada vez que acaba la animación ( onMotionFinished ), te dejo un ejemplo de un circulo que se mueve formando un rectangulo, solo crea un circulo y lo haces movie clip y le pones como nombre de instancia "ball":

Código:
import mx.transitions.Tween;

var $mc_ref:MovieClip = this.ball;
var $mov_func_ref:Function = mx.transitions.easing.None.easeNone;

function startAnimation():Void
{
var $tween_ref_1:Tween = new Tween($mc_ref, "_x", $mov_func_ref, $mc_ref._x, $mc_ref._x + 200, 2, true);

$tween_ref_1.onMotionFinished = function():Void
{
	var $tween_ref_2:Tween = new Tween($mc_ref, "_y", $mov_func_ref, $mc_ref._y, $mc_ref._y + 100, 1, true);
	
	$tween_ref_2.onMotionFinished = function():Void
	{
		var $tween_ref_3:Tween = new Tween($mc_ref, "_x", $mov_func_ref, $mc_ref._x, $mc_ref._x - 200, 2, true);
		
		$tween_ref_3.onMotionFinished = function():Void
		{
			var $tween_ref_4:Tween = new Tween($mc_ref, "_y", $mov_func_ref, $mc_ref._y, $mc_ref._y - 100, 1, true);
			
			$tween_ref_4.onMotionFinished = function():Void
			{
				startAnimation();
			};
			
		};
		
	};
	
};

}

startAnimation();
Si quieres una animación como de bouncing tan solo cambía esta línea por esta:

Código:
var $mov_func_ref:Function = mx.transitions.easing.None.easeNone;

cambiala así:

var $mov_func_ref:Function = mx.transitions.easing.Bounce.easeOut;
Un saludo!