注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

.

.

 
 
 

日志

 
 

duplicateMovieClip(元件)复制代码的运用  

2009-11-22 19:20:33|  分类: flash课件制作 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

 

 连续地复制一个影片剪辑,并让它们随机地出现在场景中的不同位置,这是flash动画中最常用的一种特效。诸如下雨、飘雪、飞花、落叶等等,都是这样的动画特效。它们其实都使用了一组常用的as代码——复制影片剪辑。这组代码简单实用,效果逼真。

如果你做好了一个影片剪辑元件(雨丝、雪花飘落等等都一样的),将它拖入场景中,别忘了在属性面板中给它命名实例名称,这里用“mc”作为影片剪辑例子的名称。并将这个图层延长到3帧。

再新建一个图层,在1、2、3三个帧上分别创建空白关键帧。

然后,打开动作面板,在第一个关键帧上添加如下动作语句(后面的//后是简单的解释):

i=1; //给变量 i 赋初值 1 。

在第二关键帧上添加如下语句:

duplicateMovieClip("mc" ,"mc" + i, i); //复制影片剪辑mc,并命名新的剪辑的名称为mc+i,即分别为mc1、mc2……,确定新的影片剪辑的深度为i .

setProperty("mc" + i, _x, random(550));

setProperty("mc" + i, _y, random(400)); //这两句是赋予新的影片剪辑在场景中的坐标。

i++; //每运行一次,i 的值加1。

在第三关键帧上添加如下语句:

if (i >= 20) {

stop();

} else {

gotoAndPlay(2);

} //这个条件语句是说,如果变量i的值大于或者等于20,就停止循环,否则,即i小于20,就回到第二帧重新复制影片剪辑。

这样就完成了。可以测试影片了。

要说明的是上面第二帧的2、3两句是确定新的影片剪辑在场景中的坐标,前者是X轴上的坐标,后者是Y轴上的坐标。分别是要给回550和400之内的随机数。这个取值范围要根据你的动画的大小和影片剪辑的具体情况确定。比如下雨剪辑,是从上向下,那Y轴上的取值范围就要小。反之,做气球等向上动作的动画,Y轴的取值范围就要大。例如,要在场景底部出发,那一般就要写成类似这样的 setProperty("mc" + i, _y, random(100)+300); 这就是说新的影片剪辑在Y轴上的坐标最小是300了。

另外,还可以随机地改变复制出来的影片剪辑的大小、颜色、透明度、倾斜角度等等,可以在第二帧的语句中加上相应的语句。

  第一个参数是要设定的影片的名称。 就是复制品的名称。

  第二个参数是属性的名称。一个影片剪辑的属性有许多呢,如透明度( 

_alpha)、旋转角度(_rotation)、宽度(_width)等等。它们的特点是都用下横杠 

线打头的。这儿的第一句中_x是指x坐标;第二句中的_y是指y坐标。就是要设定 

复制品的坐标。

  第三个参数是属性值。那么x的坐标值究竟设定为多少呢?是

random(400)。本来,这儿的x坐标也可以设为100,200,一个数字就行了。但是 

因为我们下雨是随机的,所以设定为一个随机数。这是一个随机数的表达式。是 

随机产生一个小于400的数字。即从0至399随机产生一个数。y的值也是一个随机 

数。产生的是从0至99中的一个数,再减去100,结果就是从-100到-1中的一个随 

机数。

  通过这两句,就把复制品的坐标定下来了,它会出现在某一个地方。随着不 

断地复制,不断地消失,这雨就下个不停了。

  

  评论这张
 
阅读(313)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017