Comunidad de diseño web y desarrollo en internet

¿Olvidaste tu usuario o clave? «
registrate

Cerrar

Efecto de FadeIn y FadeOut en ActionScript 2

Seguro que muchos de vosotros os habéis encontrado alguna vez con un trabajo en el que necesitáis utilizar el efecto de desvanecimiento, teniendo que usar una interpolación de movimiento con alpha.



Bueno, pues aquí os dejo dos sencillas funciones para realizar este proceso por código actionscript 2.

Código :

function FadeIn(Clip:MovieClip, Velocidad:Number) {
   Clip._alpha = 0;
   Clip.onEnterFrame = function () {
      if (Clip._alpha < 100) {
         Clip._alpha += Velocidad;
      } else {
         this.onEnterFrame = null;
         this.FadeInEnd();
      }
   }
}

function FadeOut(Clip:MovieClip, Velocidad:Number) {   
   Clip.onEnterFrame = function () {
      if (Clip._alpha > 0) {
         Clip._alpha -= Velocidad;;
      } else {
         this.onEnterFrame = null;
         this.FadeOutEnd();
      }
   }
}


Son dos funciones muy simples y que se pueden optimizar y mejorar, pero que seguro que ahora mismo son muy útiles para mucha gente.

Fijaos que al terminar el efecto se invoca a la función del clip FadeInEnd si se ha utilizado FadeIn, o a la función FadeOutEnd si se ha utilizado FadeOut. No hay por que usarlas obligatoriamente, pero si la definís en el clip en el que aplicáis el efecto se invocarán terminar el fade.

El parámetro velocidad permite ajustar la velocidad del efecto al gusto.

Un ejemplo del código completo:

Código :

function FadeIn(Clip:MovieClip, Velocidad:Number) {
   Clip._alpha = 0;
   Clip.onEnterFrame = function () {
      if (Clip._alpha < 100) {
         Clip._alpha += Velocidad;
      } else {
         this.onEnterFrame = null;
         this.FadeInEnd();
      }
   }
}

function FadeOut(Clip:MovieClip, Velocidad:Number) {   
   Clip.onEnterFrame = function () {
      if (Clip._alpha > 0) {
         Clip._alpha -= Velocidad;;
      } else {
         this.onEnterFrame = null;
         this.FadeOutEnd();
      }
   }
}

MiMovieClip.FadeInEnd = function() {
   trace("¡Ha terminado el efecto de aparecer! Ahora FadeOut!");
    FadeOut(this, 4);
}

MiMovieClip.FadeOutEnd = function() {
   trace("¡He terminado de desaparecer!");
}

// Aparece el clip
FadeIn(MiMovieClip, 4);


Código del ejemplo

 

 

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate