Flash专栏: 基础教程 | 技巧运用 | MTV实例教程 | 游戏实例教程 | 实例教程 | AS教程(new)
photoshop专栏: 基础 | 进阶 | 技巧总汇 | 精彩实例 | 文字特效 | 滤镜魔术 | 实际应用
网页设计: Dreamweaver教程 | FireWorks教程 | CorelDraw设计 | Freehand/Illustrator教程 | 音乐转换教程
其他教程: 操作系统 | 程序设计 | 网站开发 | 图形图像 | 数据库 | 网络技术 | 安全相关 | 认证考试 | 硬件知识 | 服务器
Flash专栏>AS教程>Flash AS制作上升的水泡效果动画   返回上一页

  日期:2006-11-13 12 作者:328757780 来源:闪吧
天气预报 IP地址 手机号码 邮编 翻译 在线代理 在线评书 好dj


Flash AS制作上升的水泡效果动画


如果一个一个的画,工作量繁重并且效果并不好。我们利用AS的复制语句来实现水泡的数量,利用设置属性来改变透明度,大小等。最后在影片剪辑中设置水泡的左右摆动。这样综合在一起,就可以实现水泡上升的效果了。
 Flash: http://www2.flash8.net/Uploadteach/2005/06/30/200563061946474.swf

具体步骤:

1.开MX新建一文档。并适当修改文档属性(400×300,蓝色背景) 。

2.建一个影片剪辑,命名为“h2o”。进入编辑区以后,利用绘图工具,渐变填充绘制一个水泡。

3.回到主场景,把图层1命名为“h2o”。从库中把“h2o”影片剪辑拖放到场景的下方,在下面的属性面板中命名它的分身名为“h2o”。

4.主场景中新建一个图层,命名为“as”。在第1帧添加AS:

i=1 
while(i<=30){ 
       duplicateMovieClip("h2o","h2o"+i,i); 
       setProperty("h2o"+i,_x,random(400)); 
       setProperty("h2o"+i,_y,random(100)+300); 
       setProperty("h2o"+i,_xscale,random(60)+40); 
       setProperty("h2o"+i,_yscale,getProperty(eval("h2o"+i),_xscale)); 
       setProperty("h2o"+i,_alpha,random(30)+70); 
       i++ 

_root.h2o._visible=0 

5.具体解释如下:

i=1                                  //初始化变量 
while(i<=30){                             //用来控制水珠的数量 
duplicateMovieClip("h2o","h2o"+i,i);         //复制水珠 
setProperty("h2o"+i,_x,random(400));        //在X轴上随机分布复制出的水珠 
setProperty("h2o"+i,_y,random(100)+300);   //同上,只是换成了Y轴 
setProperty("h2o"+i,_xscale,random(60)+40); 
setProperty("h2o"+i,_yscale,getProperty(eval("h2o"+i),_xscale)); 
                                     //以上两条AS是用来控制水珠大小的。 
setProperty("h2o"+i,_alpha,random(30)+70);//用来控制水珠的透明度 
i++ 

_root.h2o._visible=0                      //将主场景中的水珠隐藏。 

6.选中影片剪辑“H2O”,添加AS:

onClipEvent (load) { 
speed = random(5)+3; 

onClipEvent (enterFrame) { 
this._y -= speed; 
this._x += random(3)-random(3); 
if (this._y<-15) { 
  this._y = random(100)+315; 

7.上面的AS语句的意思是:

onClipEvent (load) {                 //用来随机赋于水珠的速度,让水珠运动更加真实。 
speed = random(5)+3; 

onClipEvent (enterFrame) { 
this._y -= speed;                  //用来改变水珠Y轴的坐标,这样我们看起来水珠是在不断在上升。 
this._x += random(3)-random(3);   //为了上水珠运动更真实些,我们上水珠左右晃动一下。 
if (this._y<-15) {                  //此IF语句的作用是当水珠移出屏幕时,重新放回屏幕中来。 
  this._y = random(100)+315; 

8.保存测试吧!

   责任编辑:silvia    时间:2006年10月31日


 
高手云集 版权所有 1998-2006