当前页:实例制作>>>水珠的上升
实例制作-水珠的上升
  责任编辑:黄舒奇    最后修改时间2016-06-10 
水珠上升    目的:模拟水珠上升的动画制作
特别说明:
①:水珠MC的制作
②:调色版的使用
③:ActionScript
    最后效果:

         

   制作步骤:  
1、打开MX新建一文档。并适当修改文档属性(400×300,蓝色背景)
2、新建一MC,命名为“水珠”。并在此MC中用调色板适当调整渐变后画一‘水珠’。三个色块从左到右:1、白色 Alpha90%;2、浅蓝 Alpha70%;3、深蓝 Alpha30%,(如图1所示)并用渐变调整工具适当调整。并拖入到主场景中.(图1)

          
3、新建一层,命名为“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

下面偶来解释一下AS的作用:
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//将主场景中的水珠隐藏。
4、在影片剪辑处输入‘h2o’然后对着水珠点右键,选"动作"把下面语言复制到里面去
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;
}
}
偶来解释一下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;
 }
}
5、Ctrl+回车测试吧。如果我们用手一个一个的画,不累死也得烦死。用AS来帮我们解决,不但快,而且随机性更强……
    源文件下载