Hola, este es mi primer tip. Aquí les enseñaré cómo lograr un efecto de Easing Tween mediante Actionscript 3, ya que es una de las primeras cosas que aprendí solo en Actionscript 3.
Primero debemos importar los paquetes necesarios:
Código :
import fl.transitions.*; import fl.transitions.easing.*;
Luego creamos un nuevo Sprite, en este caso dibujaremos un simple cuadrado.
Código :
var box:Sprite= new Sprite // Se crea box.graphics.beginFill(Math.random()*0xffffff); // Se elije color box.graphics.drawRect(0,0,100,100); // Dibujamos el cuadrado box.graphics.endFill(); //Terminamos de dibujar box.x=10 //Posición box.y=10 addChild(box); // Lo enviamos al Stage.
Comenzando ya con el Tween lo creamos, dándole las opciones de:
(Objeto,Propiedad,Método,Partida,Termino,Duracion,Animación)
Objeto: Es el sprite que creamos en este caso. O sea, a lo que le queremos aplicar el Tween.
Propiedad: Es La propiedad que queremos cambiarle, ya sea el x, el y o el alpha.
Método: Es el tipo de Animación, existen varias. El modo de escribirla es: Movimiento.ease:
- Donde movimiento:
None: Se mueve de el lugar a otro pero no le afectan los ease
Elastic: Efecto Elástico
Bounce: Efecto de Rebote
Regular: Se mueve
Strong: Se mueve
Back: Se mueve y Vuelve un poco
y Ease:
easeIn(): Parte lento
easeinOut(): Parte y Termina Lento
easeOut(): Termina Lento
Partida y Término, es donde empieza y donde termina la propiedad a la cual vamos animar.
Duración : Es el tiempo que demorará en hacer la animación.
Por ultimo "Animación", siempre déjenlo en true, ya que en false no la muestra.
Esto resumido para crear el Tween es:
Código :
var mover:Tween = new Tween(box,"x",Elastic.easeInOut, box.x, 400,3, true)
Quedando luego nuestro código así:
Código :
//Primero debemos importar los paquetes correspondientes: import fl.transitions.*; import fl.transitions.easing.*; // Luego seleccionamos el RateFrame stage.frameRate=30 // <= Numero que uno desee // Creamos el Sprite "box" así lo he llamado,y luego dibujamos en ella una caja var box:Sprite= new Sprite // Se crea box.graphics.beginFill(Math.random()*0xffffff); // Se elije color box.graphics.drawRect(0,0,100,100); // Dibujamos el cuadrado box.graphics.endFill(); //Terminamos de dibujar box.x=10 //Posición box.y=10 addChild(box); // Lo enviamos al Stage. //Creamos el Easing var mover:Tween = new Tween(box,"x",Elastic.easeInOut, box.x, 400,3, true)
Con esto, al ver la película el cuadrado haría una animación pequeña.
También podemos detenerla, comenzarla o hacer que "loopee" o sea que la animación se repita constantemente. Para esto se ocupa:
Código :
mover.stop() //Lo detiene mover.start() //Lo Comienza mover.looping=true // Para que se repita
Lo otro interesante es que podemos agregarle Listeners, que se ocupan así:
Código :
mover.addEventListener(TweenEvent.MOTION_FINISH, termino)
function termino (e:TweenEvent){
trace("Termino");
}Con todo esto logré hacer que el cuadrado, al terminar una animación, vuelva a su estado original, con otra animación, y así repitiendo.
El código me quedó así:
Código :
import fl.transitions.*;
import fl.transitions.easing.*; //Importo Paquetes
stage.frameRate=40
var box:Sprite= new Sprite();
box.graphics.beginFill(0xFF000);
box.graphics.drawRect(50,50,50,50);
box.graphics.endFill();
addChild(box);
//Creo un Tween
var mover:Tween = new Tween(box,"x",Elastic.easeInOut, 50, 350,5, true)
var mover2:Tween = new Tween(box,"x",Elastic.easeInOut, 350, 50,5, true)
mover2.stop();
//Creo un Listener
mover.addEventListener(TweenEvent.MOTION_FINISH, list); //En este caso es al terminar
mover2.addEventListener(TweenEvent.MOTION_FINISH, list3);
//Creo la función "list"
function list (event:Event)
{
mover2.start();
}
function list3 (event:Event)
{
mover.start();
}Ojalá se entienda y sirva de algo
Ejemplos:

Por So el 10 de Julio de 2007
Los subire
Por Dailion el 10 de Julio de 2007
Por Rafeo el 10 de Julio de 2007
Por Jp el 11 de Julio de 2007
Por Borlon Roman el 26 de Agosto de 2007
Borlon Roman_blog :
¿¿A que te refieres??
Mi próximo tip? No se, de que te gustaría que fuera?
Pero en todo caso esta en "Lista de publicación" un tutorial de Batch.
Por wottan el 30 de Septiembre de 2007
Al botón, colocale una accion que inicie la animación y que se desaparesca a el mismo.
Para que el se desaparesca pones
Código :
Osea la acción del botón seria como:
Código :
boton.addEventListener(MouseEvent.CLICK, botonAccion) function botonAccion(e:MouseEvent):void { animacion.start(); boton.visible=false; }No he revisado el código, puede tener errores.
Pero me parece correcto.
Por sershito el 25 de Julio de 2008
Por pacheco el 25 de Julio de 2008
Por demiantriebl el 02 de Diciembre de 2008
http://blog.greensock.com/tweenliteas3/
Por Ivan el 01 de Febrero de 2009
Por William el 10 de Marzo de 2009
Me interesa el ejemplo, pero necesito mover un movie clip, es decir otro elemento que no se el cuadrado?
William-blog :
Me interesa el ejemplo, pero necesito mover un movie clip, es decir otro elemento que no se el cuadrado?
Código :
Pues en el ejemplo box es el nombre del MC, por lo que con solo cambiar box por el nombre de tu mc, el resultado se dará en ese mc.
Por heberto el 10 de Julio de 2009
Por pher el 04 de Septiembre de 2009
Por luis el 15 de Octubre de 2009
Es un tip bastante cool
Por Bustazone el 05 de Marzo de 2011
Por Nacho el 14 de Abril de 2011
Por e-monter el 30 de Julio de 2011
Por honsuales el 28 de Agosto de 2011
Por Tiber el 19 de Septiembre de 2011
Por fernelis el 22 de Septiembre de 2011
Por OMA el 21 de Febrero de 2012
El último parámetro sirve para especificar que el tiempo es en segundos (true) o en frames (false). En ambos casos la animación se ejecuta (si no, ¿para qué ibas a usar esta clase?
Es más recomendable usar segundos, y por tanto poner el argumento en true, pero es falso lo que dices de que no hace animación si no está en true.