世上没有可悲的人,只有有着可悲想法的人!
我的资料

博客信息统计
- 博客: 76 篇
- 评论: 23 篇
- 博客访问总人气:
网络日志
浏览(230) | 评论(0) | 时间:2007/11/23 | 我要写博客文章
duplicateMovieClip的作用
使用duplicateMovieClip命令可以动态地复制影片剪辑,从而制作出一些复杂的特效。如要实现下雨、下雪等效果,如果手动地向场景中添加众多的影片剪辑,是很麻烦的事情;使用duplicateMovieClip命令即可用少量的脚本实现这些复杂的效果,达到事半功倍的目的。
表达式中参数的含义
duplicateMovieClip命令的使用方法如下:
或者:
instanseName.duplicateMovieClip(newName, depth);
其中的参数instanseName、newName都是字符串,参数depth是一个正整数,也可以是一个代表正整数的变量。该命令复制场景中的影片剪辑实例instanseName,将复制得到的影片剪辑命名为newName,并将复制得到的新影片剪辑置于深度级别(level)depth。
深度级别的概念与图层的概念相似,但又有很大的区别。深度级别高的影片剪辑相当于位于上面的图层。同一个深度级别中只能放置1个影片剪辑,当将新的影片剪辑放置在与旧影片剪辑的同一深度时,旧影片剪辑将被新影片剪辑取代。
由于使用duplicateMovieClip命令可以需要复制许多影片剪辑,所以通常将深度级别设为变量,每复制得到一个新影片剪辑,即将该变量的值加1,这样就可避免旧影片剪辑被新影片剪辑取代的情况。
duplicateMovieClip语句的示例
如图1所示是运用duplicateMovieClip语句动态地复制影片剪辑制作的一个鼠标跟随特效。
图1
该动画的制作步骤如下:
(1)按Ctrl+F8键,打开Create New Symbol对话框。
(2)在对话框中进行如图2所示的设置,单击OK按钮,进入图形元件star_gra的编辑场景。
图2
(3)选择椭圆工具,将笔触颜色设为无色,填充颜色设为红色,在场景中绘制一个15×15的圆形,按Ctrl+G键将其组合,然后将其对齐场景中心。
(4)按Shift+F9键打开Color Mixer对话框,选择Radial颜色模式,将左右滑块中的颜色分别设为如图3和8-4所示。
图3
图4
(5)使用椭圆工具分别绘制一个50×5和5×50的椭圆,分别按Ctrl+G键将其组合,然后对齐场景中心。
(6)在“混色器”面板中将如图3和8-4所示的橙色改成黄色,将其设置成黄色透明渐变,然后使用椭圆工具绘制一个30×30的圆,按Ctrl+G键将其组合,然后对齐场景中心,如图5所示。
图5
(7)选中所有组对象,按Ctrl+G键将其组合,如图6所示。
图6
(8)按Ctrl+F8键新建一个影片剪辑元件,并命名为star,进入其编辑场景。
(9)将图形元件star_gra拖到元件star的编辑场景中,并对齐场景中心。
(10)选中时间轴中的第1帧,在“属性”面板Tween后的下拉列表框中选择Motion选项,如图7所示。
图7
(11)选中第10帧,按F6键插入关键帧。
(12)选中第10帧中的图形元件,在“属性”面板中将其缩小为1×1,并保持与中心对齐,在Color后的下拉列表框中选择Alpha,将透明度的值设为0%,如图8所示。
图8
(13)选中第10帧,按F9键打开其“动作”面板,在其中添加如下语句:
stop();
添加语句后的时间轴如图9所示。
图9
(14)单击时间轴顶部的图标回到主场景。
(15)从“库”面板中将影片剪辑元件star拖到场景中的灰色区域,使其在动画播放时不可见。
(16)选中场景中的影片剪辑star,打开其“属性”面板,在文本框中输入star,作为其实例名称,如图10所示。
图10
(17)按Ctrl+F8键新建一个影片剪辑元件empty,不对其进行任何操作,回到主场景。
(18)将影片剪辑元件empty拖到场景中的灰色区域,此时只能看到该影片剪辑为
(19)选中场景中的影片剪辑empty,按F9键打开其“动作”面板,此时“动作”面板的标题栏显示“Actions-Movie Clip”。在其中添加如下脚本:
onClipEvent (load) {
_root.i = 1;
}
onClipEvent (mouseMove) {
duplicateMovieClip(_root.star, "star"+_root.i, _root.i);
_root["star"+_root.i]._x = _root._xmouse;
_root["star"+_root.i]._y = _root._ymouse;
_root.i++;
if (_root.i == 50) {
_root.i = 1;
}
}
添加脚本后的“动作”面板如图11所示。
图11
(20)将背景颜色设为黑色,按Ctrl+Enter键测试动画,效果如图12所示。
图12
在上面的脚本中,_root是指主时间轴,_root.star就是指主场景中的影片剪辑star。_root.i是一个变量,用于记录影片剪辑的深度级别。
_x和_y分别是指影片剪辑的横坐标和纵坐标,在复制影片剪辑后,复制的影片剪辑与原影片剪辑的坐标位置相同,所以需要重新为其指定位置。_root._xmouse和_root._ymouse分别是指鼠标光标相对于主场景的坐标位置。这里将鼠标光标的位置赋给复制出的影片剪辑,从而实现了鼠标跟随效果。
onClipEvent是影片剪辑特有的事件处理函数,这是为影片剪辑添加的脚本中特有的。在“动作”面板的脚本编辑窗口中输入onClipEvent(后,将会看到如图13所示的提示。
图13
根据提示即可选择相应的影片剪辑事件。当对应的影片剪辑事件发生时,即会执行预先定义的函数。
在本例中用到的影片剪辑事件是load和mouseMove,load是在动画的载入事件,mouseMove是指鼠标移动的事件。
点击浏览该文件
点击浏览该文件
附加影片剪辑attachMovie
attachMovie的作用
attachMovie的作用与duplicateMovieClip类似。但是使用duplicateMovieClip命令时需要先将影片剪辑添加到场景中,并为其指定实例名称。使用attachMovie命令不需要预先将影片剪辑添加到场景中,但是需要在“库”面板中为要附加到场景中的影片剪辑定义链接。
表达式中参数的含义
attachMovie的使用方法如下:
mcName.attachMovie(linkName, newName, depth);
其中,mcName是要将影片剪辑附加到的影片剪辑对象名称。如果mcName是_root,则是将影片剪辑附加到主场景中。linkName是用于附加的影片剪辑在“库”面板中的链接标识符,newName是附加的影片剪辑的新名称,depth是影片剪辑的深度级别。
attachMovie语句的示例
使用attachMovie可以实现与duplicateMovieClip相同的效果。如图14所示是使用attachMovie语句制作的鼠标跟随效果。
图14
在该动画中,元件的制作方法与duplicateMovieClip.fla中相同,只需要将空影片剪辑元件empty添加到场景中,而不需要将元件star添加到场景中。下面介绍操作步骤中不同的部分。
(1)单击“库”面板右侧的按钮,将“库”面板展开成宽库视图,如图15所示。
图15
(2)在影片剪辑元件star上单击鼠标右键,在弹出的快捷菜单中选择Linkage(链接)命令,打开Linkage Properties(链接属性)对话框。
(3)在“链接属性”对话框中选择复选框,如图16所示。
图16
(4)Identifier(标识符)后面的文本框中默认的名称与元件名称相同,使用默认标识符star,单击OK按钮,添加的链接如图17所示。
图17
(5)在主场景中选中添加的元件empty,在其“动作”面板中添加如下脚本:
_root.i = 1; } onClipEvent (mouseMove) { _root.attachMovie("star", "star"+_root.i, _root.i); _root["star"+_root.i]._x = _root._xmouse; _root["star"+_root.i]._y = _root._ymouse; _root.i++; if (_root.i == 50) { _root.i = 1; } }
onClipEvent (load) {
添加脚本后的“动作”面板如图18所示。
图18
(6)按Ctrl+Enter键测试动画,效果如图19所示。



删除影片剪辑removeMovieClip


















