Flash
Ahora, podemos empezar a programar el efecto, para ello se crea dinámicamente un MovieClip llamadoControl_mc mediante el siguiente código:
i = _root.getNextHighestDepth();
_root.createEmptyMovieClip("control_mc",i);
Posteriormente, se procede a programar el evento onEnterFrame para quecada vez que entre se ejecute la función que crea las nubes de humo llamada, en este caso, createSmoke.
control_mc.onEnterFrame = function () {
createSmoke();
}
A continuación seprograma la función createSmoke.
function createSmoke(){
/**
* Crea las nubes de humo de forma aleatoria a partir de los patrones Smoke y BigSmoke
* que se encuentran en labiblioteca */
i = _root.getNextHighestDepth();
if (randRange(1,2) == 1) {
tmp = _root.attachMovie("Smoke","smoke_mc" +i,i);
} else {
tmp =_root.attachMovie("BigSmoke","Bigsmoke_mc" +i,i);
}
// Se establece la posición en el escenario en la que se generará el humo
tmp._x = 226.3;
tmp._y = 360.3;
/**
* Se particularizan las nubes dehumo estableciendo aleatoriamente su transparencia,
* velocidad y tamaño */
tmp._alpha = randRange(15, 18);
tmp.speed = randRange(1,5);
tmp._xscale = randRange(90,110);tmp._yscale = tmp._xscale;
Nota: Si desea unas nubes con apariencia caricaturesca aumente el rango de tmp._alpha
/**
* Guarda el valor original de alpha para usarlo posteriormente enla
* progresión lineal con la que se disminuye proporcionalmente el alpha,
* de las nubes de humo,en función a "y" */
tmp.original_alpha = tmp._alpha;
/**
* Valoraleatorio utilizado en el cálculo para el movimiento sinusoidal de
* las nubes de humo */
tmp.curve = randRange(30,90);
// moveSmoke es responsable de la dinámica de las nubes de...
Regístrate para leer el documento completo.