影片剪辑的duplicateMovieClip方法是用来复制影片剪辑的。该方法要求舞台上有一个可供复制的影片剪辑实例。实例可以是手工添加的,也可以是通过AS添加的。 ******"http://www."******
影片剪辑的attachMovie方法用来附加影片剪辑。该方法不依靠舞台上现有的影片剪辑实例。而是直接将“库”中的元件添加到动画场景中。要通过attachMovie方法添加到场景中的元件必须具有链接标示符。
下面是两个实例,供大家练习和作比较:
实例一:用duplicateMovieClip方法复制五角星
第一步:创建一个影片剪辑元件star,绘制一个五角星,并拖放到舞台上,实例命名为star 。 内容来自鱼渔工作室******"http://www."******
第二步:在主时间轴上第一帧的“动作”面板中添加如下代码:
var i = 1; //变量i用来控制动态复制出的影片剪辑的深度 star._visible = false; //将舞台中的实例设为不可见 star.onMouseDown=function() { //star.onEnterFrame=function() star.duplicateMovieClip("star"+i, i); //当按下鼠标是复制一个实例并命名为“star”+i with (_root["star"+i]) { //_root["star"+i]._x = _root._xmouse; _x = _root._xmouse; //this["star"+i]._x = _root._xmouse; _y = _root._ymouse; } _root["star"+i].onEnterFrame = function() { //令复制出的实例自动旋转 this._rotation += 10; 内容来自鱼渔工作室******"http://www."****** }; i++; }; 内容来自鱼渔工作室******"http://www."******
第三步:测试动画,在播放窗空中单击鼠标,在鼠标指针位置处显示一个影片剪辑,继续点击获得更多。
鼠标跟随特效 鱼渔教程******"http://www."******
新建影片剪辑,做一个小球移动(左右、上下都行),在小球移动动画的最后一帧添加AS:
this.removeMovieClip();
回到主场景,拖入上一制作的小球MC,命名实例名为qiu_mc
在时间轴上上添加AS:
i=1;//初始化变量 鱼渔课件"http://www."
qiu_mc._visible=false;//被复制的母体MC不可见;
qiu_mc.onEnterFrame=function(){//.......... 内容来自鱼渔工作室******"http://www."******
duplicateMovieClip(qiu_mc,"qiu_mc"+i,i);//复制MC
this["qiu_mc"+i]._x=_xmouse;//鼠标跟随
this["qiu_mc"+i]._y=_ymouse;
this["qiu_mc"+i]._rotation=random(360);//随机转动
i++;//继续复制
}
效果:http://web./wsy520/shixi/sbtx.swf
鱼渔课件"http://www."******
实例二:用attachMovie方法制作漫天飞舞
就在我整理实例二的过程中,看到了“动画教室”圈子里苌楚同学做了一个《电影杂色效果》,我觉得和这个我要讲的实例二的原理是一样的,不信等你学会了自己分析一下,呵呵!好了,我们开始吧!
第一步:创建一个影片剪辑元件flower,绘制一个美丽的花瓣,并添加链接标识符flower 。
第二步:在舞台上绘制一个美丽的画面作为背景。
第三步:在主时间轴上新建一个图层,并在第一帧的动作面板中添加如下代码: ******"http://www."******
for(var i=0;i<100;i++){ _root.attachMovie("flower",i,i); _root[i]._x=550*Math.random();
//Math类的randmom方法返回0~1之间的一个随机数 _root[i]._y=400*Math.random(); _root[i]._rotation=60*Math.random(); _root[i]._xscale=_root[i]._yscale=_root[i]._alpha=100*Math.random(); _root[i].on Enter
//Math类的randmom方法返回0~1之间的一个随机数 _root[i]._y=400*Math.random(); _root[i]._rotation=60*Math.random(); _root[i]._xscale=_root[i]._yscale=_root[i]._alpha=100*Math.random(); _root[i].onEnterFrame=function(){ this._y+=this._xscale/10; //根据_xscale设置下落速度,即大的快小的慢 this._y%=400; //超出下边界时取模使重新回到上边界 }; }
鱼渔工作室"http://www."
第三步:测试动画,即可以看到漫天飞舞的效果了。 |
|