//Oleg Antipov //http://www.blog.anegmetex.com package anegLib { import flash.display.MovieClip; dynamic public class alphaFader extends MovieClip { import flash.utils.*; import flash.events.*; import flash.display.*; import flash.text.*; //Идёт затухание или появление (пременная для внутренних нужд) var fadingout:Boolean=false; //Скорость затухания public var fadeSpeed:Number=0.1; //Проявление до определённого порога (1.0 - полностью непрозрачный) public var fadeMaxLimit:Number=1.0; //Затухание до определённого порога (0.0 - полностью прозрачный) public var fadeMinLimit:Number=0.0; public function alphaFader() { fadingout=false; addEventListener(Event.ENTER_FRAME, update); } //Начать затухание public function startFadeIn():void { alpha=0; visible=true; fadingout=false; } //Начать появление public function startFadeOut():void { alpha=1; visible=true; fadingout=true; } //Обновление параметров public function update(e : Event):void { if(visible) { if(fadingout) { if(alpha<=fadeMinLimit) { alpha=fadeMinLimit; visible=false; fadingout=false; } else alpha-=fadeSpeed; } else if(alpha>=fadeMaxLimit) { alpha=fadeMaxLimit; } else alpha+=fadeSpeed; } } } }