在Flash中利用ActionScript实现动态模糊效果(转贴)

来源:互联网 发布:python自动登录脚本 编辑:程序博客网 时间:2024/05/22 16:06

在一些片头或MV的动画里我们经常能看到很炫的模糊效果,极具视觉冲击。高质量的模糊效果大多都采用位图并利用其它软件(如:photoshop)处理后才导入flash中进行制作。其实,在flash中也可以利用其强大的脚本功能来实现动态模糊的效果(虽然效果差一点:P)。

制作思路

利用循环和attachMovie 方法从库中把电影剪辑附加到舞台上,并控置其位置及alpha透明度的变化。

制作过程

步骤1:

启动Flash,新建一个影片,设置影片大小为450px*100px,影片背景色为深蓝色,颜色代码为#000033,帧速率30fps

步骤2:

    按快捷键Ctrl+F8新建一个名为"text"的Movie Clip符号。在"text"场景里按快捷键T,Ctrl+F3,然后选取你喜欢的字体、字号、字体颜色在场景里输入自己喜欢的字母(或图符),并把字母在"text"场景里的x、y坐标设置为(0,0)。(这里采用字体:Arial Black ;字号:35 ; 颜色:白色; 字母:I LOVE YOU)

按快捷键Ctrl+F8再建一个名为"control"的Movie Clip符号。这是一个空的Movie Clip ,目的是用来设置有关代码进行控制。按快捷键 Ctrl+E回到主场景。Ctrl+L调出库文件,右键单击"text" Movie Clip ,点选linkage 调出linkage Properties 面板,输入该 Movie Clip的链接标识符"text"(注:这是使用attachMovie 函数所要注意的一个地方)

接下来从库中把control这个空的Movie Clip拖到主场景,为其加代码:

onClipEvent (load) {  var max = 10;//声明变量max,并给它赋值  var anglestep = 360/max;//声明变量anglestep,并给它赋值  var rad = (Math.PI/180);//声明变量rad.数学中1π=180度,这里设置rad为1度所表示的弧度值  for (i=0; i<max; i++) {//循环设置    _root.attachMovie("text", "text" add i, 10+i);    //利用attachMovie把库中链接标识符为"text"的Movie Clip附加到主场景,新名字为"text"     add i 深度为 i  }  //初始化一些变量  d = 0;  dstep = 0.15;  a = 50;  astep = 1.25;}onClipEvent (enterFrame) {  for (i=0; i<max; i++) {  //动态设置附加到主场景的Movie Clip 位置、Alpha 透明度 其中225、50这两个数,目的是使字母I LOVE YOU 位于主场景的中心(影片大小450px*100px)    _root["text"+i]._x = 225+d*Math.cos((anglestep*i)*rad);    _root["text"+i]._y = 50+d*Math.sin((anglestep*i)*rad);    _root["text"+i]._alpha = a;  }  a+= astep;//a累加  d+=dstep;//d累加  if ((a>50) || (a<-5)) {  //判断a>50或者a<-5时,astep *= -1、dstep *= -1;其中-5这个数字可以控制字母从不可见到可见所需的时长。你可以试着调整50、-5这两个数体会体会。    astep *= -1;//等效于astep=astep*-1;    dstep *= -1;//等效于dstep=dstep*-1;    //astep *= -1、dstep *= -1这样设置的目的是使字母产生    //清晰→模糊→不可见→模糊→清晰的过程  }}



[注] 把红色代码删除,然后观看效果,你更能体会整段代码设置的含义。

至此,代码设置完毕,Ctrl+Enter 就可以观看动态模糊的效果.

原创粉丝点击