查看完整版本: Flash AS 教程:AS2代码中duplicateMOvieClip的应用

爱你不要你 2008-10-9 09:45

Flash AS 教程:AS2代码中duplicateMOvieClip的应用

作者:sanbos  来源:中国教程网论坛

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(函数名称,间隔的毫秒数);//每隔多少毫秒执行一次函数中的代码.

第三种方法在有时是很有用的,当你不是每一帧复制一个元件时,这种方法就特别适合.

根据上面的个绍,大家充分发挥想象,以你的聪明才智,一定能制作出非常酷眩的特效的.

[swf]http://www.jcwcn.com/uploadfile/article/uploadfile/200810/20081007103049242.swf[/swf]

(提示:复制元件后,设置其旋转属性)

下面介绍一下影片剪辑元件的制作方法:

在元件编辑面板中,从十字点开始向右画一条红色的直线.在第10 帧插入关键帧,将线条的颜色一次为黄色,用选择工具将线条调为向上的弧形.创建补间形状.第20帧插入关键帧,将线条重新调为直线,创建补间形状,在第30 帧插入关键帧,将线条颜色调为绿色,形状调为向下的弧形,创建补间形状.第40帧插入关键帧,将线条颜色调为蓝色,形状调为直线,创建补间形状.就行了.

[img]http://www.missyuan.net/upimg/allimg/081009/0943240.jpg[/img]

[img]http://www.missyuan.net/upimg/allimg/081009/0943241.jpg[/img]

[img]http://www.missyuan.net/upimg/allimg/081009/0943242.jpg[/img]

[img]http://www.missyuan.net/upimg/allimg/081009/0943243.jpg[/img]

[img]http://www.missyuan.net/upimg/allimg/081009/0943244.jpg[/img]

[img]http://www.missyuan.net/upimg/allimg/081009/0943245.jpg[/img]
页: [1]
查看完整版本: Flash AS 教程:AS2代码中duplicateMOvieClip的应用