Flash新手入门教程AS2代码中duplicateMOvieClip的应用.docxVIP

  • 6
  • 0
  • 约9.44千字
  • 约 11页
  • 2023-08-06 发布于湖北
  • 举报

Flash新手入门教程AS2代码中duplicateMOvieClip的应用.docx

AS2 代码中 duplicateMOvieClip 的应用 duplicateMovieClip 在 AS2.0 起复制影片剪辑作用.通过对这个函数的灵活应用,可以制作出很多特效来.诸如鼠标跟随,火焰,什么变换的彩色线条,下雨下雪效果, 烟花等等.通常的做法是先创建一个影片剪辑元件,放到舞台上,然后编写代码,使影片剪辑不可见,通过一个无限的循环不停地复制影片剪辑 元件,并设置复制出来的影片剪辑元件的各种属性.一般是:x、Y 坐标,透明度,大小,旋转,颜色等属性.通过一个变量,初始值设为 1,每循环一次,即每复制一个元件,变量值增加 1,当数字达到需要复制的数量时将变量重新设为 1.这样就利用当深度相同时新复制的元件会覆盖原来的元件的原理,使元件不断的更新,同时也使舞台上的元件始终只有一个固定的数量.根据个人的习惯不同,实现的方法也有不同,下面 分别介绍一下几种方法. 一种方法是:在主场景中插入三个关健帧.在第一帧输入: i=1;//这就是上面说的,初始值为 1 的变量元件名称._Visible=0;//让元件不可见 在第二帧输入: duplicateMOvieClip(元件名称,元件名称十 i,i); //复制元件,新复制的元件名为:元件名称 i,深度为 i 新名称=eVal(元件名称十 i);//用新名称来代表新复制出来的元件名称 //下面就是没置新复制出来元件的各种属性新名称._x=… 新名称._Y=… 新名称._rotation=… 新名称._alpha=… … i++; if(i〉需要的元件数量){ i=1; }//当复制的数量达到需要的数量时,将变量值设为 1 第三帧代码: gotoAndPlay(2);//这样就形成了一个无限循环. 笫二种方法是只用一帧,代码为: i=1; 元件名称._visible=O; OnEnterFrame=functiOn(){//每一帧执行一次,这实际就形成了无限循环 上面第二帧的代码 } 第三种方法,也只用一帧,代码为: i=1; 元件名称._visible=O; function 函数名称(){ 上面第二帧的代码 } var 任一取个变量名=setInterval(函数名称,间隔的毫秒数);//每隔多少毫秒执行一次函数中的代码. 第三种方法在有时是很有用的,当你不是每一帧复制一个元件时,这种方法就特别适合. 根据上面的个绍,大家充分发挥想象,以你的聪明才智,一定能制作出非常酷眩的特效的. (提示:复制元件后,设置其旋转属性) 下面介绍一下影片剪辑元件的制作方法: 在元件编辑面板中,从十字点开始向右画一条红色的直线.在第10 帧插入关键帧,将线条的颜色一次为黄色,用选择工具将线条调为向上的弧形.创建补间形状.第20 帧插入关键帧,将线条重新调为直线,创建补间形状,在第30 帧插入关键帧,将线条颜色调为绿色,形状调为向下的弧形,创建补间形状.第40 帧插入关键帧,将线条颜色调为蓝色,形状调为直线,创建补间形状.就行了. 通过实例学习 AS(四)——画折扇 即然是纯 AS 的,那么就在第一帧打开动作面板,开始写代码吧。首先的两句: import flash.geom.* import com.darronschall.DynamicRegistration; 首先引入两个类,第一个是我们在后面的矩阵要用到它,第二个是一个动态改变注册点的类。import 是引入的意思,我只需记住要用到矩阵就要引入上面第一个类,要动态改变注册点就要引入第二类就行了。 首先画扇梗,先分析一下,如下图: 要画扇梗,首先要确定这四个点的坐标,先说 a 点,扇子要放场景中间,那么 a 点的 x 就应该是在场景中心偏右一点,a 点的 y 值就应该在场景的下半部了。为了确定 a 的坐标我们就要找到场景的中心,所以接下来我这样写: var px:Number = Stage.width/2;//场景中心的 x var py:Number = Stage.height/2;//场景中心的 y var ax:Number = px+30;; var ay:Number = py+100; Staege 可以理解为舞台,width 是宽度,height 是高度。 那么上面这4句就应该理解了吧。接下来看 b 点,我们在确定某点的坐标时,始终以离它最近的一点作参考,就好确定了。那么离 b 点最近的是 a 点。从图上看,b 点的 x 值比a 点稍在一点点,b 点的 y 值是扇梗下端的宽度,所以,接下来的是: var bx:Number = ax+5 ; var by:Number= ay - 10; c 点:bx – cx = 扇梗的长度,能明白吗?从图上看,扇梗上斜着的,也就是说 c 的位置比 b 的位置略高。所以: var

文档评论(0)

1亿VIP精品文档

相关文档