destacados

Gabriel Da Silva

Portafolio del ilustrador y director de arte brasileño, aunque afincado en Madrid, Gabriel Da Silva.

B&W Helmut Newton

Selección de fotografías en blanco y negro de uno de los fotógrafos más conocidos de las últimas décadas, Helmut Newton.

Judith Erwes

Fotógrafa afincada en Londres con un estilo que combina la moda, el humor y la estética retro.

Jody Rogac

Nacida en Inglaterra y criada en Canadá, Jody Rogac en la actualidad vive y trabaja en Brooklyn. Sus trabajo ha obtenido diversos galardones.

Publicaciones

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

, , 18/10/2006 08:00:45

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 » »

La clase Tween Parte 1

, , 17/10/2006 12:12:28

Lejos quedan ya las versiones de Flash en las que para mover un objeto uno tenía que hacerlo mediante interpolaciones de movimiento entre dos situaciones distintas en fotogramas distintos. Ahora podemos hacer uso de la clase Tween.

La clase Tween permite mover, cambiar el tamaño y desvanecer clip de película fácilmente en el escenario. La sintaxis es :

function Tween(obj, prop, func, begin, finish, duration, useSeconds) {
		// código ...
}

Donde:

  • obj es el objeto de clip de película al que se refiere la instancia de Tween.
  • prop es un nombre de cadena de una propiedad de obj cuyos valores se interpolarán.
  • func es el método de suavizado que calcula un efecto de suavizado para los valores de propiedad del objeto interpolado. Vamos, lo que conocíamos por 'easing'.
  • begin es un número que indica el valor inicial de prop (propiedad del objeto de destino que se interpolará).
  • finish es un número que indica el valor final de prop (propiedad del objeto de destino que se interpolará).
  • duration es un número que indica la duración del movimiento de interpolación. Si se omite, se establece la duración en infinity de forma predeterminada.
  • useSeconds es un valor booleano relacionado con el valor especificado en el parámetro duration, que indica que se deben utilizar segundos si se establece como true o fotogramas si se establece como false.

La clase Tween está en el paquete the mx.transitions, por lo que lo más habitual es que tengamos que importarla antes de usarla.

import mx.transitions.Tween;

Por ejemplo, el siguiente codigo mueve un clip denominado "miClip" de 0 a 550 en el eje x en 10 segundos:

import mx.transitions.Tween; 
var twMoveClip:Tween = new Tween(miClip, "_x", null, 0, 550, 10, true);

Para especificar una función de easing deberemos especificar, cuál es su nombre. Dentro de este paquete disponemos de 6 métodos de suavizado o 'easing':

  • Back: Extiende la animación cuando se supera el límite de la transición en uno o ambos extremos para producir el efecto de ser empujado hacia atrás desde el límite.
  • Bounce: Añade un efecto de rebote dentro del rango de la transición en uno o ambos extremos. El número de rebotes depende de la duración: cuanto mayor sea la duración, producirá un mayor número de rebotes.
  • Elastic: Añade un efecto elástico que está fuera del rango de la transición en uno o ambos extremos. La duración no afecta al grado de elasticidad.
  • Regular: Añade un movimiento más lento en uno o ambos extremos. Esta función permite añadir un efecto de aceleración, desaceleración o ambos.
  • Strong: Añade un movimiento más lento en uno o ambos extremos. Este efecto es similar al suavizado Regular, pero más pronunciado.
  • None: Añade un movimiento uniforme de principio a fin sin efectos, ralentización ni aceleración. Esta transición también se denomina transición lineal.

Cada una de estas seis clases de cálculo de suavizado tiene tres métodos de suavizado que indican la parte de la animación en la que se aplicará el efecto de suavizado.

  • easeIn: Proporciona el efecto de suavizado al principio de la transición.
  • easeOut: Proporciona el efecto de suavizado al final de la transición.
  • easeInOut: Proporciona el efecto de suavizado al principio y al final de la transición.
  • easeNone: Indica que no se va a utilizar ningún cálculo de suavizado. Sólo se proporciona en la clase de suavizado None.

El siguiente ejemplo mueve un clip denominado "miClip" con la función Back y el método de suavizado easeOut:

import mx.transitions.Tween;
import mx.transitions.easing.*;
miClip.onPress = function():Void {
     var twMove:Tween = new Tween(this, "_x", Back.easeOut, 0, 350, 2, true);
};

El siguiente ejemplo mueve un clip denominado "miClip" con la función Bounce y el método de suavizado easeOut:

import mx.transitions.Tween;
import mx.transitions.easing.*;
miClip.onPress = function():Void {
var twMove:Tween = new Tween(this, "_y", Bounce.easeOut, 10, 165, 2, true);
};

Páginas: 1