从AS3制作图片聚焦效果,小议alpha属性

来源:互联网 发布:ntfs for mac激活码 编辑:程序博客网 时间:2024/05/17 00:10

实现效果:
    图片由清晰渐变为模糊,由模糊渐变清晰,当用户输入透明度时根据用户输入透明度值设置图片清晰度;


不透明图片

实现过程:
   1、新建Flash文件(as3)。
   2、执行菜单中的“文件|导入|导入到库” 导入清晰图AAAA.jpg,模糊图AAAABack.jpg
   3、新建三个图层“清晰图,模糊图,Action”;
   4、从库中将清晰图AAAA.jpg 拖入场景 "清晰图"图层,使图片左上角同场景左上角对齐,选中场景设置大小与内容匹配;
   5、从库中将模糊图AAAABack.jpg拖入场景 "模糊图"图层,使图片左上角同场景左上角对齐,按快捷键F8将其转化为元件maskLayer影片剪辑 属性栏中命名为“blu”;
   6、选中Action图层,执行菜单中“窗口|组件”调出组件面板,选择TextInput拖入场景中命名为myText,并在图层中加入文本“透明度”,完成后如图所示:

完成后

   7、选中Action图层第一帧 点动作弹出脚本编辑器输入语句:
       var isVisiable:Boolean = false;
       var alp= 1.0;
       myText.text = "15";
       myText.addEventListener(Event.CHANGE,setA)
       this.addEventListener(Event.ENTER_FRAME,setAlpha);

      //根据用户输入设置透明度
     function setA(e:Event):void
     {
        alp = Number(myText.text) / 100.0;
        blu.alpha = alp;
        this.removeEventListener(Event.ENTER_FRAME,setAlpha);
 
     }
     //自动透明度设置
     function setAlpha(e:Event):void
     {
           if(alp>1) isVisiable = true;
           if(alp<0) isVisiable = false;
 
           if(isVisiable) alp-=0.05;
           else alp +=0.05;
 
           blu.alpha = alp;
           //trace(alp);
     }
 
    8、按快捷键<Ctrl+Enter>打开播放器查看效果,在文本框中输入0-100数值显示图片清晰度。

 

说明:

      我开始做时,设置alpha的值为-255到255之间的值发现只有两种状态<0不可见>0可见,通过调试发现alpha取值是范围是-128~127,设置范围内的值并不能实现渐变效果;
经测试给alpha属性赋值有效范围是0-1之间的小数见上例;

原创粉丝点击