当前位置: 代码迷 >> Web前端 >> 应用 PopUpManager打开关闭窗体事增加特效(强)
  详细解决方案

应用 PopUpManager打开关闭窗体事增加特效(强)

热度:429   发布时间:2012-11-10 10:48:50.0
使用 PopUpManager打开关闭窗体事增加特效(强)

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);
}