马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Flash8支持一种新的编码格式(On2的VP6),这种编码格式与Flash7的视频编码格式相比,有了很大的提高。
演示文件:
制造思绪:创立影片剪辑,个中此影片剪辑中包括了五帧,每帧上有分歧色彩的小球,在代码中我们会经由过程Actionscript来把持它跳转帧已定位在分歧色彩的小球上,来完成分歧色彩小球之间互相叠加,并在场景中复制,经由过程Actionscript把持它的主动挪动,并使用交融效果.
操纵办法:
1.新建一个Flash文档,文件的场景巨细设置为590*350.背景为玄色.帧频设置为31,将其另存为blendmode3.fla.
2.翻开新建的blendmode3.fla.在主场景中绘制一个38*38巨细的园形二维形体,按下shift+F9翻开混色器,选择放射状添充,中选择蓝色,以下图所示.
注重右侧的混色器,鄙人面的滑块中,我们右边用的是蓝色,右侧是也蓝色,但它的通明度是0,添充后效果以下图所示。
注重这个园形的巨细以后为我们缩小后寓目的效果,它的底本巨细为38*38.
3.选中这个园形按下F8键,将其转换为图形标记,命将它的称号定名为Blue.同时注重它的注册点。将注册点置于中央地位。以下图所示。
4.断定后我们就创立完成了Blue标记,按照不异的办法,我们必要创立别的4种色彩的小球,在本例中我们创立了以下几种色彩的小球。
5.另有一个创立分歧色彩小球的复杂的办法,选中我们刚创立的蓝色小球,右击选择间接复制。然后在进进到复制后的图形元件外部,举行修正色彩。
6.创立完多个小球以后,我们在主场景坚持空的。假如场景上有图形元件要删往。然后按下Ctrl+F8.创立一个新的影片剪辑,我们将它定名为Clip.然后将我们方才他建的五个分歧色彩的小球元件,从库中拖至clip影片剪辑的帧上,以下图所示。
7.ok.完成了这一步以后,前往到主场景中,选中库中我们方才创立的clip影片剪辑,右击选择链接。会翻开链接标识窗口。以下图所示。
在翻开的窗中,先选中”为Actionscript导出”,然后在链接标识处输出出境partical称号。断定。我们在此处创立的链接名是为我们在主帧上添写代码时,用来利用attachMovie举行贴加复制操纵的。
8.完成下面的操纵以后。选中主场景上的第一帧,按下F9,翻开Actionscript面板。我们筹办输出以下代码:
//界说中央地位
varcx=180;
varcy=180;
//设定轮回20次,筹办从库中复制链接id为partical的影片.
for(vari=0;i<20;i++){
//复制影片剪辑,援用称号为mc.
varmc=this.attachMovie("partical","p"+i,i);
with(mc){
//初始化影片剪辑的地位,注重此时cx,cy是用来调剂mc实例的偏移地位的.
_x=cx+Math.random()*60;
_y=cy+Math.random()*60;
}
//针对mc使用交融形式范例"add"
mc.blendMode="add";
//设定mc实例的角度随机值
mc.tx=random(360);
mc.ty=random(360);
//设定用于mc角度的增量随机值
mc.xtempo=Math.random()/10;
mc.ytempo=Math.random()/10;
//设定mc实例的速率随机值
mc.xd=Math.random()*10+1;
mc.yd=Math.random()*10+1;
mc.x0=mc._x;
mc.y0=mc._y;
//跳转到指定的帧,以变更分歧色彩的小球上.
mc.gotoAndStop(random(5)+1);
//经由过程onEnterFrame轮回,来让粒子挪动.
mc.onEnterFrame=function(){
this.tx+=this.xtempo;
this.ty+=this.ytempo;
this._x=this.x0+Math.sin(this.tx)*this.xd;
this._y=this.y0+Math.cos(this.ty)*this.yd;
};
}9,测试你的影片,你就会看到以下面的效果:
注释代码:
起首从整段上代码上,我们实践上只用了一个for轮回。这个for轮回的感化是复制20个链接名为partical的影片剪辑。然后我们在轮回的外部对复制后的粒子援用名mc举行初始化,把持。肇端的两行是用来调剂一切粒子的绝对屏幕中的地位的,
//界说中央地位
varcx=180;
varcy=180;接上去我们从for轮回的外部入手下手提及,我们将它分为块,一块是初始化复制后的粒子,另外一段是为粒籽实例mc到场静态属性,为前面的把持挪动做筹办。第三块则是利用onEnterFrame轮回来把持挪动。
初始化复制后的粒子:
//复制影片剪辑,援用称号为mc.
varmc=this.attachMovie("partical","p"+i,i);
&nbs</p>[1]200701/4590_2.html>[2]200701/4590_3.html>[3]200701/4590_2.html>下一页
p;with(mc){
//初始化影片剪辑的地位,注重此时cx,cy是用来调剂mc实例的偏移地位的.
_x=cx+Math.random()*60;
_y=cy+Math.random()*60;
}这一段代码,如今来说我们已很熟知了,我们经由过程顶真个for轮回20次。将库中的链接名为partical的粒子复制加入景中。复制的办法我们利用是的是attachMovie的体例,复制后的影片剪辑改名为”p”+I,也就是说你复制的了局应是p0,p1,p2,p3…..p19,而一切的这些影片剪辑我们为它起个实例名为mc.它代表了一切复制失掉的影片剪辑。在with外部,我们入手下手指定这些粒子的初始地位。注重此时我们用上了cx,cy.而且加上了随机数60,也就是说料子初始化的地位在180-240的地位之间。
为粒籽实例mc到场静态属性:
//针对mc使用交融形式范例"add"
mc.blendMode="add";
//设定mc实例的角度随机值
mc.tx=random(360);
mc.ty=random(360);
//设定用于mc角度的增量随机值
mc.xtempo=Math.random()/10;
mc.ytempo=Math.random()/10;
//设定mc实例的速率随机值
mc.xd=Math.random()*10+1;
mc.yd=Math.random()*10+1;
mc.x0=mc._x;
mc.y0=mc._y;
//跳转到指定的帧,以变更分歧色彩的小球上.
mc.gotoAndStop(random(5)+1);在这段代码的入手下手的地位mc.blendMode="add"即是我们到场交融形式的重点地点了,假如没有这一些就不会出来相叠加后的交融效果。但完成它的前题是我们必需要处置如基础了粒子举动,以是习气上我们都是最初才加上滤镜或是交融形式。在这段代码中,一切的都是为第三段的轮回筹办的。个中有两句是用来做为角度的增量随机值的。这个角度增量值实践是为了在onEnterFrame轮回中增添的角度的变更。使效果变得更分明。这一段中的最初一句也是重点,由于我们在partical的影片剪辑中安排了五个分歧色彩的小球,我们经由过程随机跳转命令来到达分歧色彩小球的切换。
onEnterFrame轮回来把持挪动:
//经由过程onEnterFrame轮回,来让粒子挪动.
mc.onEnterFrame=function(){
this.tx+=this.xtempo;
this.ty+=this.ytempo;
this._x=this.x0+Math.sin(this.tx)*this.xd;
this._y=this.y0+Math.cos(this.ty)*this.yd;
};在这段代码中,经由过程将后面界说的静态属性,使用在onEnterFrame轮回中,起到决意性感化.
this._x=this.x0+Math.sin(this.tx)*this.xd;
this._y=this.y0+Math.cos(this.ty)*this.yd;
个中this.tx,this.ty,this.xd,this.yd.均为后面界说的静态属性。我们利用了sin()和cos()办法是为了使每一个粒子本身有一个环形的活动线路。
Ok.在整段代中,我们看到利用交融形式blendmode只要一行,但在这里它显得尤其主要,加上与往失落效果是一模一样的。
如今你就能够测试你的影片了。
接上去我们要在下面的基本长进行一下变更。看看效果会有甚么分歧。
我们如今要增添粒子的巨细和局限。代码做以下的修正。
//界说中央地位
varcx=0;
varcy=0;
//设定轮回20次,筹办从库中复制链接id为partical的影片.
for(vari=0;i<100;i++){
//复制影片剪辑,援用称号为mc.
varmc=this.attachMovie("partical","p"+i,i);
with(mc){
//初始化影片剪辑的地位,注重此时cx,cy是用来调剂mc实例的偏移地位的.
_x=cx+Math.random()*590;
_y=cy+Math.random()*350;
_xscale=_yscale=100*Math.random()*5+1;
}
//针对mc使用交融形式范例"add"
mc.blendMode="add";
//设定mc实例的角度随机值
mc.tx=random(360);
mc.ty=random(360);
//设定用于mc角度的增量随机值
mc.xtempo=Math.random()/10;
mc.ytempo=Math.random()/10;
//设定mc实例的速率随机值
mc.xd=Math.random()*10+1;
mc.yd=Math.random()*10+1;
mc.x0=mc._x;
mc.y0=mc._y;
//跳转到指定的帧,以变更分歧色彩的小球上.
mc.gotoAndStop(random(5)+1);
//经由过程onEnterFrame轮回,来让粒子挪动.
mc.onEnterFrame=function(){
this.tx+=</p>200701/4590.html>上一页200701/4590.html>[1][2]200701/4590_3.html>[3]200701/4590_3.html>下一页
this.xtempo;
this.ty+=this.ytempo;
this._x=this.x0+Math.sin(this.tx)*this.xd;
this._y=this.y0+Math.cos(this.ty)*this.yd;
};
}
斜体加粗的代码是我们所修正的地位,我们增添了粒子的数目,同时到场了_xscale._yscale.缩放的随机值,如许便会缩小粒子增添粒子的重合度。效果以下:
接上去我们在这段代码的基本上在次举行修正。我们此主要变更一下交融形式,就会失掉分歧的效果。以下代码。
//界说中央地位
varcx=0;
varcy=0;
//设定轮回20次,筹办从库中复制链接id为partical的影片.
for(vari=0;i<100;i++){
//复制影片剪辑,援用称号为mc.
varmc=this.attachMovie("partical","p"+i,i);
with(mc){
//初始化影片剪辑的地位,注重此时cx,cy是用来调剂mc实例的偏移地位的.
_x=cx+Math.random()*590;
_y=cy+Math.random()*350;
_xscale=_yscale=140*Math.random()*5+1;
}
//针对mc使用交融形式范例"add"
mc.blendMode="hardlight";
mc.cacheAsBitmap=true;
//设定mc实例的角度随机值
mc.tx=random(360);
mc.ty=random(360);
//设定用于mc角度的增量随机值
mc.xtempo=Math.random()/10;
mc.ytempo=Math.random()/10;
//设定mc实例的速率随机值
mc.xd=Math.random()*10+1;
mc.yd=Math.random()*10+1;
mc.x0=mc._x;
mc.y0=mc._y;
//跳转到指定的帧,以变更分歧色彩的小球上.
mc.gotoAndStop(random(5)+1);
//经由过程onEnterFrame轮回,来让粒子挪动.
mc.onEnterFrame=function(){
this.tx+=this.xtempo;
this.ty+=this.ytempo;
this._x=this.x0+Math.sin(this.tx)*this.xd;
this._y=this.y0+Math.cos(this.ty)*this.yd;
};
}
斜体加粗的代码为我们所修正过的地位,我们增年夜了缩放,同时将交融形式换成了hardlight.固然你能够试一下别的的交融体例,同时我们增添了mc.cacheAsBitmap=true.经由过程这一句是减速我们的影片剪辑的运算速率。测试的效果以下。
http://www.webstudio.com.cn/tutorial/tuts/flash8_blendmode/dynamic_blend4.swf[1]200701/4590_2.html>[2][3]</b></p>
您是否有着精彩的Flash作品,您是否想把他转化为屏保程序。 |