读书人

Flex 淡入淡出成效

发布时间: 2012-08-27 21:21:57 作者: rapoo

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

读书人网 >flex

热点推荐