Comunidad de diseño web y desarrollo en internet online

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

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

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