这个函数名我们必须把它记牢,因为在flashMX2004中,没有普通模式,只有专家模式,也就是说,你只能手工输入函数(打字慢的同志要练习一下打字)。
售货机的操作有它自己的规则,函数也一样,你必须输入正确的格式,即语法,如下:
duplicateMovieClip(“旧实例名”,”新实例名”,”深度”)
从复制函数的语法中可以看出,我们必须在复制函数中输入三个“硬币“,这”硬币“在flash中叫做参数,所以,我们要在复制函数中输入三个参数。而输出的结果就是:在flash中本来只有一个影片剪辑,复制函数调用后,就有两个影片剪辑,我们可以通过影片剪辑 的实例名来对它们进行操作。
二、复制一个影片剪辑1、先建立一个影片剪辑,实例名为mc1。
2、在第1帧的动作面板中输入下列代码:
duplicateMovieClip(“mc1”,”mc2”,”1”)可以看到似乎没有复制出另一个影片剪辑,原因是复制出来的mc2和mc1是一模一样的,包括它们的坐标即位置是一样的,它们重叠在了一起。
我们退出测试模式,打开动作面板,加入另一行代码:
mc2._x=300
测试影片,是不是可以看到影片剪辑mc2了。
三、复制二个影片剪辑
测试影片,观看效果,场景中应有三个影片剪辑
特别要注意的是,两次复制的深度必须不同,否则同深度的影片剪辑会增开覆盖前一个,可以做这样的尝试,把代码改为:
duplicateMovieClip(“mc1”,”mc2”,”1”)
mc2._x=300
duplicateMovieClip(“mc1”,”mc3”,”1”)
mc3._x=400
再测试,是不是只有两个?也就是说,只复制出一个,其中mc3被mc2覆盖了。
四、复制多个影片剪辑如果我们要复制10个影片剪辑,是不是要写10句复制函数呢?
不是,我们来看看动态实例名怎么来实现?
假如有要复制实例名为mc2,mc3…..mc11的影片剪辑,我们可以如下的语法来动态命名:
“mc”+i
其中i是变量,从2,3….11
因为i是有一定范围的变量,所以我们要用到循环语句,把上例的代码改为:
for(var i=2;i<=11;i++){
duplicateMovieClip(“mc1”,”mc”+i,i)
this[“mc”+i]._x=10*I
}1、深度不能相同,我用的变量i,所以肯定不会相同
2、引用 动态实例名时,要加上路径,this表示当前路径,语法如下:
路径[“mc”+i]
中间没有点,这个也要注意
作业:用复制函数做一个效果,如物理中的频闪效果等
注:如果你对flash的基本操作还不是很熟,如不知道怎么打开动作面板,不知道怎么给实例命名,请大家一起来补充这个教程,你会什么,补充什么,把