Tutorial 6 - Animación con ActionScript 3.0
Paso 14 de 19
Arrastramos otra instancia del clip cloud al escenario en la misma capa clouds que la nube anterior, y en el inspector de Propiedades le damos el nombre de instancia cloud2_mc.
Al principio de la programación, tras la línea en la que habíamos definido el alfa de la primera instancia, añadimos algunas propiedades para la nueva instancia.
cloud1_mc.alpha = .6;
cloud2_mc.alpha = .4; //more transparent
cloud2_mc.scaleY = .7; //lower height (70%)
cloud2_mc.z = 300; //add depth
Después añadimos los mismos listener para esta segunda instancia. Para ello basta con copiar y pegar los listeners ya creados y sustituir cloud1_mc
por cloud2_mc
:
cloud1_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
cloud1_mc.addEventListener(MouseEvent.MOUSE_UP, drop);
cloud1_mc.addEventListener(MouseEvent.ROLL_OUT, drop);
cloud1_mc.addEventListener(Event.ENTER_FRAME, wind);
cloud2_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
cloud2_mc.addEventListener(MouseEvent.MOUSE_UP, drop);
cloud2_mc.addEventListener(MouseEvent.ROLL_OUT, drop);
cloud2_mc.addEventListener(Event.ENTER_FRAME, wind);
Dentro de cada función hacíamos también referencia a la instancia cloud1_mc
. En vez de repetir las líneas con la programación para cloud2_mc
dentro de las funciones, lo que vamos a hacer es que la programación haga referencia al objeto que inició el evento.
Es decir, si la función drag
ha sido llamada por un listener de la cloud1_mc
, arrastraremos esa nube, pero si la función ha sido iniciada por la cloud2_mc
, será esta nube la que arrastremos.