教学目标:
1、学会制作影片剪辑
2、学会给实例命名
3、学会动态命名的语法3460
4、学会复制函数的语法
5、能用复制函数做简单的效果
一、函数简介
自动售货机怎么用的?你往售货机中投入1个或几个硬币,它会吐出一听可乐或其它什么的。
我们来看看售货的工作,输入--处理----输出,也就是说,我们只要能够输入东西,知道它能输出什么就行,而不必知道售货是如何工作的。
函数就像一个售货机,我们并不要知道函数是如何编写的,只需知道如何往函数中输入东西,输入后知道函数能得到什么结果。
售货机是出售商品的,函数是有一定功能的,如复制函数可以复制影片剪辑,先看看复制函数的写法:
duplicateMovieClip()
//函数名()
这个函数名我们必须把它记牢,因为在flashMX2004中,没有普通模式,只有专家模式,也就是说,你只能手工输入函数(打字慢的同志要练习一下打字)。
售货机的操作有它自己的规则,函数也一样,你必须输入正确的格式,即语法,如下:
duplicateMovieClip(“旧实例名”,”新实例名”,”深度”)
从复制函数的语法中可以看出,我们必须在复制函数中输入三个“硬币“,这”硬币“在flash中叫做参数,所以,我们要在复制函数中输入三个参数。而输出的结果就是:在flash中本来只有一个影片剪辑,复制函数调用后,就有两个影片剪辑,我们可以通过影片剪辑 的实例名来对它们进行操作。
二、复制一个影片剪辑
1、先建立一个影片剪辑,实例名为mc1。
2、在第1帧的动作面板中输入下列代码:
duplicateMovieClip(“mc1”,”mc2”,”1”)
3、测试影片
可以看到似乎没有复制出另一个影片剪辑,原因是复制出来的mc2和mc1是一模一样的,包括它们的坐标即位置是一样的,它们重叠在了一起。
我们退出测试模式,打开动作面板,加入另一行代码:
mc2._x=300
测试影片,是不是可以看到影片剪辑mc2了。
三、复制二个影片剪辑
我们修改上例中的代码:
duplicateMovieClip(“mc1”,”mc2”,”1”)
mc2._x=300
duplicateMovieClip(“mc1”,”mc3”,”2”)
mc3._x=400
测试影片,观看效果,场景中应有三个影片剪辑
特别要注意的是,两次复制的深度必须不同,否则同深度的影片剪辑会增开覆盖前一个,可以做这样的尝试,把代码改为:
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的基本操作还不是很熟,如不知道怎么打开动作面板,不知道怎么给实例命名,请大家一起来补充这个教程,你会什么,补充什么,把我们这个教程做得尽量完美。