Clase Efectos
Ago 24
La clase Efectos es una clase muy simple, la cual extiende de la clase MovieClip. Esto permite utilizarla como clase base o bien extender de esta para incorporar métodos nuevos a un objeto cualquiera. Los efectos para esta versión son:
- fadeOut (ocultar progresivamente)
- fadeIn (enceder progresivamente)
- fadeTo (un transición entre el valor alpha actual y un valor deseado)
- rebotar (un rebote simple)
- trasladar (Mover el objeto a otra posición)
Para la gente que no escribe clases aun, pueden utilizarla como clase base de un MovieClip que tengan en la biblioteca. Pare ello abren la ventana de vinculación.

Para abrir esta ventana, deben apretar botón derecho sobre el movieClip en la biblioteca y luego eligen la opción Vinculación (Linkage en inglés).
Una vez ahí, deben configurar como clase base del movieClip: as3.toronana.efectos.Efectos para que ese objeto contenga todos los métodos de los efectos.
Y eso es todo. Simple ¿no?
Aquí les dejo la clase.
-
package as3.toronana.efectos {
-
-
import flash.display.MovieClip;
-
import fl.transitions.Tween;
-
import fl.transitions.easing.*;
-
import fl.transitions.TweenEvent;
-
-
/**
-
* Es una clase que extiende de la clase MovieClip, la cual incorpora algunos efectos simples
-
* a cualquier elemento que la utilize como base o bien extienda de esta.
-
* @author Damian Musumeci | http://as.toronana.com.ar
-
* @version 1.0
-
* @see http://as.toronana.com.ar/238-clase-efectos/
-
*/
-
public class Efectos extends MovieClip {
-
-
private var efectoALPHA:Tween;
-
private var efectoX:Tween;
-
private var efectoY:Tween;
-
private var efectoSCALEX:Tween;
-
private var efectoSCALEY:Tween;
-
-
/**
-
* Propiedad que contiene la funcion a utilizar en el efecto fadeOut.
-
* @default Nose.easeOut
-
* @see #fadeOut()
-
* @see http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/fl/transitions/easing/package-detail.html
-
*/
-
public static var tipoDeEfectoFadeOut:Function = None.easeOut;
-
-
/**
-
* Propiedad que contiene la funcion a utilizar en el efecto fadeIn.
-
* @default Nose.easeOut
-
* @see #fadeIn()
-
* @see http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/fl/transitions/easing/package-detail.html
-
*/
-
public static var tipoDeEfectoFadeIn:Function = None.easeOut;
-
-
/**
-
* Propiedad que contiene la funcion a utilizar en el efecto fadeTo.
-
* @default Nose.easeOut
-
* @see #fadeTo()
-
* @see http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/fl/transitions/easing/package-detail.html
-
*/
-
public static var tipoDeEfectoFadeTo:Function = None.easeOut;
-
-
/**
-
* Propiedad que contiene la funcion a utilizar en el efecto rebotar.
-
* @default Elastic.easeOut
-
* @see #rebotar()
-
* @see http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/fl/transitions/easing/package-detail.html
-
*/
-
public static var tipoDeEfectoRebotar:Function = Elastic.easeOut;
-
-
/**
-
* Propiedad que contiene la funcion a utilizar en el efecto trasladar.
-
* @default None.easeOut
-
* @see #trasladar()
-
* @see http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/fl/transitions/easing/package-detail.html
-
*/
-
public static var tipoDeEfectoTrasladar:Function = None.easeOut;
-
-
-
-
/**
-
* Realiza un apagado progresivo del objeto. Al finalizar la transición cambia la visibilidad a Falso.
-
* @param duracion Tiempo en segundos de la duracion del efecto.
-
* @see #onMotionFinishFadeOut()
-
*/
-
public function fadeOut (duracion:Number = 1):void {
-
if (!Boolean(efectoALPHA) || !efectoALPHA.isPlaying) {
-
efectoALPHA = new Tween(this, "alpha", tipoDeEfectoFadeOut, this.alpha, 0, duracion, true);
-
efectoALPHA.addEventListener(TweenEvent.MOTION_FINISH, onMotionFinishFadeOut);
-
}
-
}
-
-
/**
-
* Metodo que se ejecuta al finalizar el efecto fadeOut.
-
* Si necesita realizar otras acciones al finalizar el efecto puede realizar un override del mismo.
-
* En cuyo caso se aconceja no eliminar la linea removeEventListener.
-
* @param e El evento recibido es un TweenEvent
-
* @see #fadeOut()
-
*/
-
protected function onMotionFinishFadeOut(e:TweenEvent):void {
-
this.visible = false;
-
efectoALPHA.removeEventListener(TweenEvent.MOTION_FINISH, onMotionFinishFadeOut);
-
}
-
-
/**
-
* Realiza un encendido progresivo del objeto.
-
* @param duracion Tiempo en segundos de la duracion total del efecto
-
* @see #onMotionFinishFadeIn()
-
*/
-
public function fadeIn(duracion:Number = 1):void {
-
if (!Boolean(efectoALPHA) || !efectoALPHA.isPlaying) {
-
this.visible = true;
-
efectoALPHA = new Tween(this, "alpha", tipoDeEfectoFadeIn, this.alpha, 1, duracion, true);
-
efectoALPHA.addEventListener(TweenEvent.MOTION_FINISH, onMotionFinishFadeIn);
-
}
-
}
-
-
/**
-
* Metodo que se ejecuta al finalizar el efecto fadeIn.
-
* Si necesita realizar otras acciones al finalizar el efecto puede realizar un override del mismo.
-
* En cuyo caso se aconceja no eliminar la linea removeEventListener.
-
* @param e El evento recibido es un TweenEvent
-
* @see #fadeIn()
-
*/
-
protected function onMotionFinishFadeIn(e:TweenEvent):void {
-
efectoALPHA.removeEventListener(TweenEvent.MOTION_FINISH, onMotionFinishFadeIn);
-
}
-
-
-
/**
-
* Realiza una transicion del valor alpha inicial al valor final en un tiempo determinado.
-
* @param duracion Tiempo en segundos de la duracion total del efecto.
-
* @param alphaInicial Valor numerico inicial del alpha. (entre 0 y 1)
-
* @param alphaFinal Valor numerico final del alpha. (entre 0 y 1)
-
* @see #onMotionFinishFadeTo()
-
*/
-
public function fadeTo (duracion:Number=2, alphaInicial:Number=0, alphaFinal:Number=1):void{
-
efectoALPHA = new Tween(this, "alpha", tipoDeEfectoFadeTo, alphaInicial, alphaFinal, duracion, true);
-
}
-
-
/**
-
* Metodo que se ejecuta al finalizar el efecto fadeIn.
-
* Si necesita realizar otras acciones al finalizar el efecto puede realizar un override del mismo.
-
* En cuyo caso se aconceja no eliminar la linea removeEventListener.
-
* @param e El evento recibido es un TweenEvent
-
* @see #fadeTo()
-
*/
-
protected function onMotionFinishFadeTo(e:TweenEvent):void {
-
efectoALPHA.removeEventListener(TweenEvent.MOTION_FINISH, onMotionFinishFadeIn);
-
}
-
-
/**
-
* Realizar un efecto de rebote sobre si mismo.
-
* @param duracion Tiempo en segundos de la duracion total del efecto.
-
* @param escala Tamaño al cual se utiliza como limite al rebotar
-
* @param desplazarEjeX Cantidad de pixeles que se movera el centro de registro en el eje de las X.
-
* @param desplazarEjeY Cantidad de pixeles que se movera el centro de registro en el eje de las Y.
-
*/
-
public function rebotar(duracion:Number=1, escala:Number=0.25, desplazarEjeX:int=0,desplazarEjeY:int=0 ):void{
-
if (!Boolean(efectoSCALEX) || !efectoSCALEX.isPlaying) {
-
efectoSCALEX = new Tween(this, "scaleX", tipoDeEfectoRebotar, escala, 1, duracion, true);
-
efectoSCALEY = new Tween(this, "scaleY", tipoDeEfectoRebotar, escala, 1, duracion, true);
-
efectoX = new Tween(this, "x", tipoDeEfectoRebotar, this.x+desplazarEjeX, this.x, duracion, true);
-
efectoY = new Tween(this, "y", tipoDeEfectoRebotar, this.y+desplazarEjeY, this.y, duracion, true);
-
}
-
}
-
-
/**
-
* Traslada un objeto de la posicion alctual a otra posicion en un tiempo dado.
-
* @param duracion Tiempo en segundos de la duracion total del efecto.
-
* @param xFin Posicion X final
-
* @param yFin Posicion Y final
-
*/
-
public function trasladar(duracion:Number, xFin:Number, yFin:Number):void{
-
-
if (Boolean(efectoX)){
-
efectoX.stop();
-
efectoY.stop();
-
}
-
efectoX = new Tween(this, "x", tipoDeEfectoTrasladar, this.x, xFin, duracion, true);
-
efectoY = new Tween(this, "y", tipoDeEfectoTrasladar, this.y, yFin, duracion, true);
-
efectoX.addEventListener(TweenEvent.MOTION_FINISH, onFinTrasladar);
-
}
-
-
/**
-
* Metodo que se ejecuta al finalizar el efecto trasladar.
-
* Si necesita realizar otras acciones al finalizar puede realizar un override del mismo.
-
* En cuyo caso se aconceja no eliminar la linea removeEventListener.
-
* @param e El evento recibido es un TweenEvent
-
*/
-
protected function onFinTrasladar(e:TweenEvent):void {
-
efectoX.removeEventListener(TweenEvent.MOTION_FINISH, onFinTrasladar);
-
}
-
-
-
}
-
}
Pueden ver la documentación de la misma aqui
Descargar: Efectos
Descargado 334 veces
Sep 09 at 09:39
Q hace Damiancito.. como va? tanto tiempo? Te estaba rastreando por la www para ver en q andabas… de paso ya q estamos te voy a seguir visitando para probar las clases cs3
el de matriz me intereso pq yo uso mucho la parte de matrices para la facu con pero todo en c++ y es mas simple darle formato visual con flash q con turbo c++
ya voy a ver si me pongo y te hago una de reducida y una de calculo de soluciones… tengo q traducir nomas el codigo 