实现效果:
图片由清晰渐变为模糊,由模糊渐变清晰,当用户输入透明度时根据用户输入透明度值设置图片清晰度;
实现过程:
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之间的小数见上例;