作者:阿里西西  文章来源:http://www.alixixi.com/  更新时间:2005-12-18
课件制作联盟讲座(二)-复制函数

自动售货机怎么用的?你往售货机中投入1个或几个硬币,它会吐出一听可乐或其它什么的。
我们来看看售货的工作,输入--处理----输出,也就是说,我们只要能够输入东西,知道它能输出什么就行,而不必知道售货是如何工作的。
函数就像一个售货机,我们并不要知道函数是如何编写的,只需知道如何往函数中输入东西,输入后知道函数能得到什么结果。
售货机是出售商品的,函数是有一定功能的,如复制函数可以复制影片剪辑,先看看复制函数的写法:
duplicateMovieClip()
//函数名()

这个函数名我们必须把它记牢,因为在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的基本操作还不是很熟,如不知道怎么打开动作面板,不知道怎么给实例命名,请大家一起来补充这个教程,你会什么,补充什么,把

网友评论
相关搜索
阿里西西Baidu.com搜索