仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1340|回复: 8
打印 上一主题 下一主题

[学习教程] 来看看:Flash8 Blendmode――光影变更

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 22:41:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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作品,您是否想把他转化为屏保程序。
小妖女 该用户已被删除
沙发
发表于 2015-1-17 05:27:05 | 只看该作者
Flash使交互性容易,并且消除了学习某种语言的需要。折中办法是不学语言,同时失去一些功能。但是你仍然可以处理基于用户动作(如鼠标移动或点击)的触发事件,这通常是你需要的所有交互性。
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-20 14:24:20 | 只看该作者
假设一个Web设计者需要让一页上的不同元素之间相互作用。如果其中的一些元素出现在Box内,而另一些在Box之外,那么设计者就很不幸。
柔情似水 该用户已被删除
地板
发表于 2015-1-29 09:05:21 | 只看该作者
flash制作的动画文件比较小,可以在网络上快速传播!
飘灵儿 该用户已被删除
5#
发表于 2015-2-14 14:26:41 | 只看该作者
一个物体从一个角(关键祯1)移动到另一个角(关键祯2)。然后tweening在关键祯之间填充祯,从而使物体可以在屏幕上优雅地运动。
若相依 该用户已被删除
6#
发表于 2015-3-4 07:25:02 | 只看该作者
各种性能才能运用的得心应手,制作出优秀的动画。
小魔女 该用户已被删除
7#
发表于 2015-3-11 17:59:23 | 只看该作者
不过,要说国内在FLASH动画领域做的比较出色的,公认的是广州形动数码科技。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-19 06:18:55 | 只看该作者
单纯的做动画而言,flash动画与传统动画有很多差别,这里会为你介绍什么是flash与flash与传统动画相比具有的优点和缺点,而进一步了解flash动画
再现理想 该用户已被删除
9#
发表于 2015-3-27 09:10:53 | 只看该作者
富媒体广告的概念:富媒体 Rich Media,是由英文翻译而来,从字面上很难理解Rich Media到底是什么。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-29 07:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表