资源描述
如何使用as复制多种影片剪辑? 如何使用as复制多种影片剪辑? 解决思路 duplicateMovieClip为复制影片剪辑(mc)语句。这个复制语句在ActionScript中应用十分广泛。通过这个语句的使用,我们可以不费吹灰之力就可以复制出足够多的影片剪辑(只要你的资源够的话)。 具体环节 我们先来看看duplicateMovieClip的位置。如图3.2.36所示。 图3.2.36duplicateMovieClip参数面板 它一共有三个参数框,分别是目的,名称,深度。如图3.2.37所示。 图3.2.37duplicateMovieClip参数 【目的】就是我们要复制的原始的影片剪辑。例如我们要复制影片剪辑yourname,那么我们就在目的框中填入yourname。 【新名称】就是我们复制出来的影片剪辑的名称,例如:yourname1。 【深度】就是我们复制出来的影片剪辑的层数级别。较高档别的影片剪辑覆盖较低的影片剪辑。此参数应当是唯一的。 下面我们就来实际应用一下duplicateMovieClip语句,看看它能产生什么惊人效果! 1、复制一种影片剪辑 我们要复制一种影片剪辑,就要先创立一种原始的影片剪辑。好!我们运营Flash,建立元件:名称为name,类别为影片剪辑。如图3.2.38所示。 图3.2.38创立新元件 我们可以用按钮来实现这一效果,这样更直观某些。我们建立一种按钮,形状随便某些就可以了。把名称为name的影片剪辑和建立的按钮,分别拖放在主场景的两个层中。点击影片剪辑name实例,给它取一种实例名为name。如图3.2.39所示。 图3.2.39设立影片剪辑的实例名 然后点击按钮,在Action面板上加入下列语句: on(release)/当按钮点击时,执行如下语句 duplicateMovieClip(“name”,”name1”,1);/复制名称为name的影片剪辑,复制出来的影片剪辑名称为name1。深度为1 这样,我们就得到了一种复制出来的影片剪辑name1。但是,复制出来的mc在本来的mc的上面,看起来的效果不太直观,我们就用此前简介过的setproperty语句,设定复制的影片剪辑的属性。SetProperty(“name1”,_x,350); 完整的Action为: on(release) duplicateMovieClip(name”,”name1”,1); setProperty(“name1”,_x,300);/设定影片剪辑name1的x轴上的坐标为300。 如图3.2.40所示。 完毕。请参照源文献dup1。 2、复制多种影片剪辑 在实际应用中,我们很少用到复制一种影片剪辑的状况。那么要复制多种影片剪辑的时候,我们应当如何设立呢?好,我们来复制四个影片剪辑。与上例相似,一方面制作一种名称为name的影片剪辑和一种按钮。分别放在场景中的两个层中。在属性面板中填入影片剪辑名称name。点击按钮加入ActionScript: on(elease)/当按钮点击时,程序执行下面的语句。 duplicateMovieClip(“name”,”name1”,1);/复制名称为name的mc,名称为name1,深度为1。(下同) duplicateMovieClip(“name”,”name2”,2); duplicateMovieClip(“name”,”name3”,3); duplicateMovieClip(“name”,”name4”,4); setProperty(“name1”,_x,150);/设立name1的x轴坐标为150。(下同) setProperty(“name2”,_x,250); setProperty(“name3”,_x,350); setProperty(“name4”,_x,450); 这样,我们复制出了比较多的影片剪辑了。如图3.2.41所示。 图3.2.41添加复制影片剪辑命令 请请参见源文献dup2 但是,这里面存在一种问题。就是,如果我们复制少某些的影片剪辑的时候,这种Action的写法还可以。如果我要复制30个影片剪辑的时候,按照这种写法就比较麻烦了。有无解决的措施呢?固然有。计算机不是给我们增长承当的,而是给我们提供捷径的。我们可以运用变量来完毕。 3、运用变量复制 我们同样做出一种影片剪辑(名称为name)和一种按钮。分别把她们放到主场景中的两个层中。在属性面板中填入影片剪辑的名称name。给场景中的按钮加入Action: on(release) i=1; while(I30) duplicateMovieClip(“name”,”name”+I,I); setProperty(“name”+I,_x,random(550); setProperty(“name”+I,_y,random(200); setProperty(“name”+I,_xscale,random(100); setProperty(“name”+I,_yscale,random(100); i=i+1; 解释如下: on(release)/当按钮点击时,执行下面的语句。 i=1;/设立变量i等于1。 while(I30)/作一种循环语句while,条件是当i不不小于30的时候,进行下面的语句。 duplicateMovieClip(“name”,”name”+i,i);/复制名称为name的mc,复制出来的mc名称为name1,name2.,把复制出来的mc放到不同的深度。 setProperty(“name”+I,_x,random(550);/设定复制出来的mc的x轴坐标为随机,范畴是550。 setProperty(“name”+I,_y,random(200);/设定复制出来的mc的y轴坐标为随机,范畴是200。 setProperty(“name”+I,_xscale,random(100);/设定复制出来的mc的x轴标尺为随机100 setProperty(“name”+I,_yscale,random(100);/设定复制出来的mc的y轴标尺为随机100。 i=i+1;/变量i等于i加上数值1。 如图3.2.42所示。 图3.2.42设立复制影片剪辑命令 请参照源文献dup3。 4、运用时间轴 我们可以运用时间轴,制作出复制语句的动态效果。先期准备同上,在这里就不多说了。我们在时间线的第一帧添加Action: i=1; while(i20) duplicateMovieClip(name1,name+i,i); setProperty(name+i,_x,random(550); setProperty(name+i,_y,random(150); setProperty(name+i,_xscale,random(150); setProperty(name+i,_yscale,random(100); i=i+1; 在第十帧插入空白核心帧,并在此帧上添加Action: gotoAndPlay(1); 如图3.2.43所示。 图3.2.43运用时间轴制作动态效果 有关Action代码,此例就不一一讲述了,完毕。参看源文献dup4。 注意是用duplicateMovieClip的时候,其【深度】是唯一的。当复制出来的影片剪辑出目前同一层的时候会覆盖掉。 提示我们在用duplicate的时候,如果你给所复制的mc与本来mc相似的实例名字的时候,那就是说本来的mc要被复制后来的mc所取代。例如:原始mc的名称为name1,那么,用上面的程序作完后,你就看不到原始的mc的影子了。也可以在语句中加入设立属性语句visible,设立原影片剪辑name为不可见。 技巧使用变量,我们可以减小书写代码的工作量。在类似的语句块中,我们应当尽量的使用变量来替代规律的变化。 试一试在本节中我们只是给复制出来的影片剪辑定义了X轴和Y轴,人们还可以运用上一节学习到的影片剪辑的属性自由制作,例如使用旋转,高度等等。 特别提示 本例提供的源文献之用作duplicateMovieClip的基本学习。其实运用这个语句还可以制作出非常多的效果,我们将在后来给人们一一简介。 特别阐明通过本节的学习,我们基本掌握了duplicateMovieClip命令的用法。需要注意的是,复制影片剪辑需要cup不断地进行运算,因此当你复制过多的时候,你的计算机很也许会罢工的。 有关问题removeMovieClip删除用duplicateMovieClip复制出来的影片剪辑。这两条语句可以添加在帧或者按钮上。
展开阅读全文