Usar el evento EnterFrame en action script 3.0
Bien explicaré este evento de la siguiente manera:
ANTES.- quiero hacer una animación en la que tengo un circulo y hacer que desaparezca aplicandole alpha de 100 % a 0%. Se puede hacer de dos formas:
1.-Creamos nuestro objeto circulo lo arrastramos> convertir a símbolo> y dejas que la línea de tiempo corra,,,, y empieze y termina la animación, si queremos que se detenga le pones stop(); al final del fotograma.
2.-Es a donde queremos llegar, COMO CREAMOS ESTA ANIMACION DESDE ACTION SCRIPT 3.0=? ,, y sobre todo como animarla, crear la linea de tiempo, y finalizarla aqui es donde necesitaremos usar el evento enterFrame. aqui la forma:
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
// Dibujar un círculo y añadirlo a el lienzo con addChild
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0x990000);
circle.graphics.drawCircle(50, 50, 50);
circle.graphics.endFill();
addChild(circle);
// Cuando se inicia esta animación, se llama a esta función en cada fotograma.
// El cambio provocado por esta función (actualizado en la pantalla en cada
// fotograma) es lo que hace que se produzca esta animación.
function fadeCircle(event:Event):void
{
circle.alpha -= .05;
if (circle.alpha <= 0)
{
circle.removeEventListener(Event.ENTER_FRAME, fadeCircle);
}
}
//esta funcion startAnimacion crea el evento CLICK para que al hacer click en el circulo
//se inice el evento ENTER_FRAME
function startAnimation(event:MouseEvent):void
{
circle.addEventListener(Event.ENTER_FRAME, fadeCircle);
}
circle.addEventListener(MouseEvent.CLICK, startAnimation);
ahora si quisieramos que se inicie el evento sin hacer click en circulo, hacemos lo siguiente:
//remplazamos las 4 ultimas lineas por(quitando la funcion click):
circle.addEventListener(Event.ENTER_FRAME, fadeCircle);
aqui vemos el ejemplo
click para iniciar el evento enterFrame
2 comments:
muy util igual puedes poner add quitando el remove y lo ejecuta igual
gracias
Si no pueden ver el ejemplo es porque el archivo que estaba alojado en un host fue dado de baja, mil disculpas.
Post a Comment