快速业务通道

Flash实例:水泡效果

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-09

??? 这个效果运用了一些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来变化水泡的大小,让水泡在水中更有层次感;
第五句是根据随机数设置透明值。使水泡更富于变化。如图一所示:
? (图二) [1]?[2]?下一页??
  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的深度,所谓深度是指一个确定mc或其他对象交迭时如何显现的堆栈次序. 具体的参看有关语法词典,这里只做提示性指导。操作结果如图五:
(图五)
  9、按ctrl+enter观看效果,并进行细调。最后将动画导出,呵呵,蔚蓝的水中世界现在在你的手里创作出来了!添加几条金鱼,海马之类,然后再插入一些水泡音效,是不是感觉像神秘的海底啊:)
如果有不明白的地方,请到http://kingfun.126.com来提问。我会在最短的时间内答复的。 ?上一页??[1]?[2]?
关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号