惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
N
Netflix TechBlog - Medium
博客园 - 聂微东
Y
Y Combinator Blog
罗磊的独立博客
博客园_首页
小众软件
小众软件
有赞技术团队
有赞技术团队
爱范儿
爱范儿
F
Fortinet All Blogs
C
Check Point Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
Apple Machine Learning Research
Apple Machine Learning Research
M
MIT News - Artificial intelligence
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
aimingoo的专栏
aimingoo的专栏

博客园 - 迷梦江南

DB2问题记录本 AS3无缝循环播放FLV flex开发零碎笔记,随时补充 JQuey练习一 转“大型网站架构演变和知识体系” 转“大型高并发高负载网站的系统架构 ” 转“经验分享:大型高并发高负载网站的系统架构 ” 转“关于平台研发的一些想法” 转“国内图片网站Yupoo的架构” mootools 1-4 ajax C#测试代码段运行速度 - 迷梦江南 - 博客园 javascript放大图片 - 迷梦江南 - 博客园 javascript网站导航栏 - 迷梦江南 - 博客园 QQ在线状态接口 - 迷梦江南 - 博客园 (转)Javascript在IE与Firefox下的差异 WebApplication与Profile购物车 网站发布后出现的两个问题 mootools实现搜索提示文本框修正版 ASP.NET查看本地磁盘下的子目录和文件信息
AS3淡入淡出类
迷梦江南 · 2013-01-14 · via 博客园 - 迷梦江南

最近开始做FLEX开发,自己做了个淡入淡出效果类,留点痕迹。

调用方式:

   // 淡入
   var da:DisplayAlpha = new DisplayAlpha(pics,20,0.03);
   da.show();

package common
{
    import flash.display.DisplayObject;
    import flash.utils.setTimeout;
    
    // 淡入淡出
    public class DisplayAlpha
    {
        // 需要淡入淡出的对象
        private  var _obj:DisplayObject;
        // 设置时间间隔
        private  var _delay:Number;
        // 记录淡入淡出的方向
        private var _fx:int = 1;
        // 淡入淡出对象的最终alpha值
        private var _value:Number;
        // appha递增(递减)的幅度
        private var _alphaSpan:Number;
        
        public function DisplayAlpha(obj:DisplayObject,delay:Number,alphaSpan:Number=0.01)
        {
            _obj = obj;
            _delay = delay;
            if(_obj.alpha > 0)
            {
                _fx = -1;
            }
            _alphaSpan = alphaSpan;
        }
        
        // 淡出
        public  function hide():void
        {
            _obj.alpha -= _alphaSpan;
            if(_obj.alpha > 0)
            {
                setTimeout(hide,_delay);
            }
            else
            {
                _value = 0;
                setTimeout(setAlpha,500);
            }
        }
        
        // 淡入
        public  function show():void
        {
            _obj.alpha += _alphaSpan;
            if(_obj.alpha < 1)
            {
                setTimeout(show,_delay);
            }
            else
            {
                _value = 1;
                setTimeout(setAlpha,500);
            }
        }
        
        // 淡入淡出交替
        public function autoShowAndHide():void
        {
            _obj.alpha += _fx*_alphaSpan;
            if(_obj.alpha >= 1 || _obj.alpha <= 0)
            {
                _fx = -_fx;
            }
            setTimeout(autoShowAndHide,_delay);
        }
        
        // 给淡入淡出对象赋值
        private function setAlpha():void
        {
            _obj.alpha = _value;
        }
    }
}