La clase Tween Parte 2: Creación de un rollover avanzado

Comentarios 1 COMENTARIO
Tags 18/10/2006 -  Tags , ,

Asociados a la clase Tween existen diversos métodos que podemos utilizar:

  • Tween.yoyo(): Indica a la animación interpolada que continúe desde su valor actual hasta un nuevo valor.
  • Tween.fforward(): Avanza la animación interpolada directamente al final de la animación.
  • Tween.nextFrame(): Avanza la animación interpolada al siguiente fotograma.
  • Tween.prevFrame(): Dirige la animación interpolada al fotograma anterior al actual.
  • Tween.resume(): Reanuda una animación interpolada a partir del punto en que se ha detenido en la animación.
  • Tween.rewind(): Retrocede una animación interpolada hasta el principio de la misma.
  • Tween.start(): Inicia la animación interpolada desde el principio.
  • Tween.stop(): Detiene la animación interpolada en su posición actual.
  • Tween.toString(): Devuelve el nombre de clase, "[Tween]".
  • Tween.yoyo(): Ordena a la animación interpolada que se reproduzca a la inversa desde el último sentido de incrementos de la propiedad de interpolación.

En el siguiente ejemplo utilizará Tween.yoyo() para hacer un rollover de botones avanzados:

1.- Se han creado cuatro cuadrados como clips de película, con los nombres de instancia "Cuadro1_mc", "Cuadro2_mc", "Cuadro3_mc" y "Cuadro4_mc".
2.- He variado los puntos de registro para que en todos los casos el redimensionamiento sea hacia los extremos.
3.- Importamos la clase tween y las funciones de easing.

import mx.transitions.Tween;
import mx.transitions.easing.*;

4.- Ahora tan sólo deberemos asignar las acciones que se efectuarán al evento onRollOver y al evento onRollOut. En el evento onRollover redimensionaremos tanto a lo ancho como a lo alto el clip y al evento onRollOut reproduciremos la animación a la inversa para que vuelva a su estado original.

_root.Cuadro1_mc.onRollOver = function() {
	miXTween = new mx.transitions.Tween(this, "_xscale", Bounce.easeOut, 100, 200, 1.5, true);
	miYTween = new mx.transitions.Tween(this, "_yscale", Bounce.easeOut, 100, 200, 1.5, true);
};
_root.Cuadro1_mc.onRollOut = function() {
	miXTween.yoyo();
	miYTween.yoyo();
};

Descargar archivo » »

Algunas entradas relacionadas:

También te puede interesar:

Comentarios
1 NICOLAS

Que tal, estimados ojalá me puedan ayudar

Tengo un Media Controller insertado en mi fla principal que llama a un swf externo

loadMovie("flashmo_107_slider.swf", "contenedor");


este swf externo es un banner rotativo de imagenes mediante la función tween, la función está adjunta,

estoy tratando de hacer un botón externo a este swf, xq como verán ya hay unos internos que funcionan bien fm_previous y fm_previous, PERO QUIERO HACERLOS EXTERNOS

entonces pensé en algo así
on (release) {

_root.flashmo_slider.INTENTE CON VARIAS FORMAS LLAMANDO FUNCIONES ETC Y NO LLAMA A NADA

}

flashmo_slider es el nombre del simbolo que contiene el banner rotativo del swf externo


GRACIAS



[as]stop();
import mx.transitions.Tween;
import mx.transitions.easing.*;
flashmo_item._visible = false;

var xml_file:String = "flashmo_107_list.xml";
var folder:String = "thumbnails/";
var auto_duration:Number = 5000; // where 1 second equals 1000
var auto_play:Boolean = true; // true = ON | false = OFF
var tween_duration:Number = 0.6; // in seconds

var item_filename:Array = new Array();
var item_url:Array = new Array();
var item_url_target:Array = new Array();
var item_title:Array = new Array();
var item_description:Array = new Array();
var total:Number;
var i:Number;
var interval_id:Number;
var current:Number = 0;
var xml:XML = new XML();

xml.onLoad = function()
{
item_list.fm_item._visible = false;
var nodes = this.firstChild.childNodes;
total = nodes.length;

for( i = 0; i
Haz un comentario

¡Gracias por dejar tu opinión! Por favor procura que tu comentarios sean apropiados respecto al tema tratado en la entrada; que no sean spam, u ofensivos, de otro modo, serán eliminados. Todos los comentarios serán moderados antes de su publicación por lo que su aparición en la web puede verse aplazada un cierto tiempo. Si deseas realizar algún comentario, crítica o sugerencia sobre la propia web puedes hacer a través de la siguiente dirección de correo: webintenta@webintenta.com