Flex 淡入淡出效果

项目中遇到淡入淡出效果,自己写了个方便用的。

package com.ruixinflex.mapoperation.classes {
import mx.effects.Fade;
import mx.events.EffectEvent;

public class FadeEffect {
private var _fadeOut:Fade;

private var _fadeIn:Fade;

private var _target:Object;

private var _isPlaying:Boolean;

public function get isPlaying():Boolean {
return (this._fadeIn.isPlaying || this._fadeOut.isPlaying);
}

public function FadeEffect(target:Object) {
this._target = target;
this._fadeIn = createFadeIn(target);
this._fadeOut = createFadeOut(target);
this._fadeIn.addEventListener(EffectEvent.EFFECT_START, function (e:EffectEvent):void {
e.target.target.visible = true;
});
this._fadeOut.addEventListener(EffectEvent.EFFECT_END, function (e:EffectEvent):void {
e.target.target.visible = false;
});
}

public function fadeOut(duration:Number = 1000):void {
this._fadeOut.duration = duration;
this.endPlay();
this._fadeOut.play();
}

public function fadeIn(duration:Number = 1000):void {
this._fadeIn.duration = duration;
this.endPlay();
this._fadeIn.play();
}

public function endPlay():void {
if (this._fadeIn.isPlaying) this._fadeIn.end();
if (this._fadeOut.isPlaying) this._fadeOut.end();
}

protected function createFadeIn(target:Object):Fade {
var result:Fade = new Fade();
result.alphaFrom = 0;
result.alphaTo = 1;
result.target = target;
return result;
}

protected function createFadeOut(target:Object):Fade {
var result:Fade = new Fade();
result.alphaFrom = 1;
result.alphaTo = 0;
result.target = target;
return result;
}
}
}

//使用代码
private var _fadeEffect:FadeEffect = new FadeEffect(_frmLookup);
_fadeEffect.fadeIn();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值