flash制作教程—水泡效果

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

这个效果运用了一些as的知识,不过是比较简单的as,希望大家能通过这个特效的学习掌握一些as的运用,并能做到在制作过程中举一反三!

1、新建动画文件,按“Ctrl+M”打开影片属性对话框,设定动画的大小为350×320(将会用到前面制作水波特效的图片,所以尺寸跟前面的一样)背景色选择为蓝色,这样在做下面的水泡mc时有利于识别,单击“确定”。

2、接着做单个水泡,单击“insert→new symbol”(ctrl+f8),在弹出对话框中命名为“bubble”,类型选“movie clip”,点取oval tool画圆工具,画一正圆,无边线。下面进行颜色填充。打开fill面板(在哪里打开不用我?嗦了吧),选取radial Gradient(注意在选取这个选项之前,一定要用选取工具选取刚才画的正圆),接着进行颜色填充的调整,在缺省情况下,颜色面板中是没有透明颜色的,如何做呢?点取mixer面板,选择白色,在alpha项填入0%,点取面板中右上角小三角形,单击add swatch,将颜色添加到颜色库,这下在fill面板中就可以用透明颜色了,具体的调节也并非用文字可以表述得清的,这得需要一些经验和感觉,假如实在调不出水泡的效果,在我的源文件中直接调用得了,不过最好是自己练练手,以后的作品总不能叫我帮你调吧:)。效果如图一如下:

3、接着我们要做的就是让这个水泡mc“动起来”。注意这里的动可是引号的哦,也就是要用as来控制mc运动的。好,跟我来做吧。按“Ctrl+f8”打开new symbol对话框,命名为“bubble2”,类型选“movie clip”,从library面板中将bubble拖入,在第3帧按下f5。

4、下面是一些关键的地方,注意看了喔!新建一层,在第一帧按f6,添入如下action script:

i = random (100) +random (10);

setProperty ("", _y, 350);

setProperty ("", _x, random (350) +1);

setProperty ("", _yscale, i);

setProperty ("", _xscale, i);

setProperty ("", _alpha, random (50) +50);

注解:

第一句是定义随机数啦,随机变量以百分比计算;

第二句是设置水泡开始的垂直位置,根据本动画的大小定为350;

第三句设置水泡开始的x位置,数字是决定随机的范围的,为了让整个画面都充满水泡的效果,这里选择了一个较大的值350,当然你也可以根据自己的要求决定;

第三、四句都是根据随机量i来变化水泡的大小,让水泡在水中更有层次感;

第五句是根据随机数设置透明值。使水泡更富于变化。如图一所示:

5、在第二帧同样添加as如下:

setProperty ("", _y, getProperty ("",_y )-i/10);

设置水泡y的位置,让mc垂直升起来,数值10表示移动速度的参数。

6、在第三帧添加as如下:

if (getProperty ("",_y )<-50) {

gotoAndPlay (1);

} else {

gotoAndPlay (2);

}

注解:

第一句获得水泡mc的位置,并进行判断是否返回重新从底部向上移动。下面几句都是判断后的执行命令。如图三:

7、ok,关键的水泡“bubble2”做好了,现在回到场景,开始添加背景效果,假如你是从第一个水的特效做起来的,现在就可以从“file->open as library”打开第一个水波特效的源文件,从library面板中拖出seapic这个mc到工作区,具体制作不再累叙,不会就查看第一个特效的制作方法,然后再在这一层上面新建一层,拖出前面花很多功夫制作的“bubble2”到第二层,在场景中的位置随便放,因为这里主要是用as来控制位置变化的!

8、现在在“bubble2”的帧上添加as,注意在添加as之前,我们必须要先定义as控制的对象,这个对象的定义在instance面板中完成,我们现在打开instance面板,选择“buuble2”这个mc,在name栏中填入“bubble”,如图四:

接着就可以添加as了:

bubblenum = 78;

while (bubblenum>0) {

duplicateMovieClip ("/bubble", "bubble" and bubblenum, bubblenum);

bubblenum = bubblenum-1;

}

stop ();

注解:

设定水泡要复制的个数,不要太少也不要太多,根据自己动画的具体要求决定!

说明一点的是,duplicatemovieclip这个函数命令在实际操作中使用的频率是比较多的,希望一定要掌握!具体语法是duplicateMovieClip(target, newname, depth);

target 指要复制的目标电影夹路径.

newname 指复制的mc的唯一标识.

depth 指mc的

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航