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

推荐订阅源

I
InfoQ
博客园_首页
美团技术团队
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
J
Java Code Geeks
T
Tailwind CSS Blog
Jina AI
Jina AI
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
Google Developers Blog
爱范儿
爱范儿
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
宝玉的分享
宝玉的分享
小众软件
小众软件
MongoDB | Blog
MongoDB | Blog
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 迷梦江南

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