package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
/**
* ...
* @author kingBook
*/
public class Main extends Sprite
{
private var _alphaDie:Boolean;
private var _noteAlpha:Number = 1;
private var _intAlpha:int = 1;
private var _model:MovieClip;
public function Main():void
{
if (stage)
init();
else
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
_model = getMc();
_model.x = 200;
_model.y = 200;
addChild(_model);
addEventListener(Event.ENTER_FRAME, enterFrame);
_alphaDie = true //设true则闪
}
private function enterFrame(e:Event):void
{
dieHandler();
}
private function dieHandler()
{
var $amount:Number;
var $space:Number;
if (_alphaDie)
{
$amount = 0.025; //每帧透明度减少量
_noteAlpha -= $amount;
_intAlpha += 1;
if (_noteAlpha - 0.1 < 0)
{
destroy();
}
else
{
$space = 0.1; //死亡透明度闪耀间隔数
if ((_intAlpha % 2 * 2 - 1) > 0)
{
_model.alpha = (_noteAlpha + $space);
}
else
{
_model.alpha = (_noteAlpha - $space);
}
}
}
}
private function getMc():MovieClip
{
var $mc:MovieClip = new MovieClip();
$mc.graphics.beginFill(0);
$mc.graphics.drawCircle(0, 0, 50);
$mc.graphics.endFill();
return $mc;
}
private function destroy():void
{
if (_model)
{
if (_model.parent)
{
_model.parent.removeChild(_model);
}
_model = null;
}
}
}
}
最后的效果:—— 单击查看——