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

我的资料

时间等级:14
在线时长:3天13小时3分钟
升级剩余时间:12小时57分钟时间等级:14
在线时长:3天13小时3分钟
升级剩余时间:12小时57分钟时间等级:14
在线时长:3天13小时3分钟
升级剩余时间:12小时57分钟时间等级:14
在线时长:3天13小时3分钟
升级剩余时间:12小时57分钟时间等级:14
在线时长:3天13小时3分钟
升级剩余时间:12小时57分钟

博客信息统计

  • 博客: 76 篇
  • 评论: 23 篇
  • 博客访问总人气:

网络日志

  删除影片剪辑removeMovieClip

循环语句for  

浏览(230) | 评论(0) | 时间:2007/11/23 | 我要写博客文章

复制影片剪辑duplicateMovieClip

duplicateMovieClip的作用

使用duplicateMovieClip命令可以动态地复制影片剪辑,从而制作出一些复杂的特效。如要实现下雨、下雪等效果,如果手动地向场景中添加众多的影片剪辑,是很麻烦的事情;使用duplicateMovieClip命令即可用少量的脚本实现这些复杂的效果,达到事半功倍的目的。

表达式中参数的含义

duplicateMovieClip命令的使用方法如下:

或者:

instanseName.duplicateMovieClip(newName, depth);

其中的参数instanseNamenewName都是字符串,参数depth是一个正整数,也可以是一个代表正整数的变量。该命令复制场景中的影片剪辑实例instanseName,将复制得到的影片剪辑命名为newName,并将复制得到的新影片剪辑置于深度级别(leveldepth

深度级别的概念与图层的概念相似,但又有很大的区别。深度级别高的影片剪辑相当于位于上面的图层。同一个深度级别中只能放置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颜色模式,将左右滑块中的颜色分别设为如图38-4所示。

按此在新窗口浏览图片

3
按此在新窗口浏览图片

4

5)使用椭圆工具分别绘制一个50×55×50的椭圆,分别按Ctrl+G键将其组合,然后对齐场景中心。

6)在“混色器”面板中将如图38-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

根据提示即可选择相应的影片剪辑事件。当对应的影片剪辑事件发生时,即会执行预先定义的函数。

在本例中用到的影片剪辑事件是loadmouseMoveload是在动画的载入事件,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

4Identifier(标识符)后面的文本框中默认的名称与元件名称相同,使用默认标识符star,单击OK按钮,添加的链接如图17所示。

按此在新窗口浏览图片

17

5)在主场景中选中添加的元件empty,在其“动作”面板中添加如下脚本:

 

onClipEvent (load) {

_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;

}

}




添加脚本后的“动作”面板如图18所示。

按此在新窗口浏览图片

18

6)按Ctrl+Enter键测试动画,效果如图19所示。

按此在新窗口浏览图片

19

 

duplicateMovieClip(instanseName, newName, depth);
所属类别:电脑网络

访友脚印  0人留下访友印记

当前没有访友印记

该文章评论

当前没有评论!
5至500汉字内

    免费注册  登录


* 个人地盘是网友的网上家园,严禁在此处发布广告信息! 我要举报
* 用户在此发表一篇评论将增加经验值1点。了解经验值和头衔
* 地盘主人可设置一个铃声,当有关于你消息时,铃声会自动播放。铃声提醒设置
* 网友言论只表网友个人观点,不代表本站观点。
* 评论时间间隔为30秒,请勿恶意灌水,情节严重者封用户ID号和IP地址。
* 用户在168小时内有权限修改自己的评论。