package commont
{
import flash.display.DisplayObject;
import mx.core.IFlexDisplayObject;
import mx.effects.Blur;
import mx.effects.Parallel;
import mx.effects.Zoom;
import mx.events.TweenEvent;
import mx.managers.PopUpManager;
/* 使用 PopUpManager关闭隐藏特效*/
public class PopupEffert
{
public function PopupEffert()
{
}
/* 显示特效 */
public static function show(control:IFlexDisplayObject,parent:DisplayObject,modal:Boolean):void{
var parallel:Parallel=new Parallel();
var zoom:Zoom=new Zoom();
zoom.zoomHeightFrom=0.2;
zoom.zoomWidthFrom=0.2;
zoom.zoomHeightTo=1;
zoom.zoomWidthTo=1;
var mShowEffect:Blur=new Blur();
mShowEffect.blurXFrom=255;
mShowEffect.blurYFrom=255;
mShowEffect.blurXTo=0;
mShowEffect.blurYTo=0;
parallel.duration=500;
parallel.target=control;
parallel.addChild(mShowEffect);
parallel.addChild(zoom);
PopUpManager.addPopUp(control,parent,modal);
PopUpManager.centerPopUp(control);
parallel.play();
}
/*关闭隐藏特效 */
public static function remove(control:IFlexDisplayObject):void
{
var parallel:Parallel=new Parallel();
var mHideEffect:Blur=new Blur();
mHideEffect.blurXFrom=0;
mHideEffect.blurYFrom=0;
mHideEffect.blurXTo=255;
mHideEffect.blurYTo=255;
var zoom:Zoom=new Zoom();
zoom.zoomHeightFrom=1;
zoom.zoomWidthFrom=1;
zoom.zoomHeightTo=0;
zoom.zoomWidthTo=0;
parallel.addChild(mHideEffect);
parallel.addChild(zoom);
mHideEffect.addEventListener(TweenEvent.TWEEN_END,function(){
PopUpManager.removePopUp(control);
});
zoom.addEventListener(TweenEvent.TWEEN_END,function(){
PopUpManager.removePopUp(control);
});
parallel.duration=500;
parallel.target=control;
parallel.play();
}
}
}
使用介绍:在打开窗体控件的事件里,使用
private function openWindow():void{
var s:Simple=new Simple();
PopupEffert.show(s,this,true);
}
private function colse():void{
PopupEffert.remove(this);
}