好文档 - 专业文书写作范文服务资料分享网站

Flash ActionScript2.0教程

天下 分享 时间: 加入收藏 我要投稿 点赞

import mx.transitions.Tween;

然后用new Tween()方法即可实现。New Tween()方法格式: new Tween(要应用补间的MC,要应用补间的MC的属性,缓动效果,属性的初始值,属性的结束值,补间的长度,补间长度的类型)

下面介绍一下new Tween()方法的参数。

要应用补间的MC:这个就是要应用补间的MC罗。

要应用补间的MC的属性:补间动画实际就是用一定的时间改变对象的属性,比如位移就是改变_x或_y属性,还有其它的如_xscal、_alpha等。这里就是指这些属性的名称。

缓动效果:在上一节我们已经介绍了。

属性的初始值:比如要用补间的是_x属性,我们要建立对象从舞台左边移到右边的补间动画,那么_x的初始值就应很小,比如0,10,50等,即对象在舞台左边时的_x值。

属性的结束值:补间结束时属性的值,比如对象移到舞台右边时的_x的值。

补间的长度:可以有两种表示方式:秒或帧,但这里只是一个数值,是用秒还是用帧来计算补间由后面一个参数来决定。

补间长度的类型:决定是用秒还是用帧来计算补间,如果为true则用秒来计算,如果为false则用帧来计算。

下面我们来制作我们的第一个补间动画,让一个小球从舞台的左边移到右边: 画一个球吧,转换为MC,实例名称为:ball_mc. 打开帧动作面板,输入如下代码: import mx.transitions.Tween; import mx.transitions.easing.*; //因为在用到缓动效果,所以将缓动类也导入 new Tween(ball_mc, \测试影片,小球将从左边(20像数处)移到右边(500像素处),用时3秒。 上面这个效果没有用缓动效果,我们回忆一下上一节介绍的缓动效果,似乎有一个叫Regular的缓动类,它将实现减慢的效果,我们给它调用easeIn方法,即在补间开始时减慢,这样是不是就实现了从慢到快的效果呢?将代码改成下面的: import mx.transitions.Tween; import mx.transitions.easing.*; new Tween(ball_mc, \测试影片,我们看到小球由慢到快从左边移到右边。在这段代码中,改变了三个参数,一个是缓动效果,一个是补间长度用了40,再一个就长度类型用了false,这样这个补间长度不再是3秒,而是40帧。

onMotionFinished事件:Tween类的onMotionFinished事件在补间动画完成时调用。在后面来练习它的用法。

continueTo() 方法:继续执行补间动画,它以原补间动画属性的结束值作为开始值。这个方法重新指定结束值和补间长度。也就是说在原补间动画的结束点上重新开始新的动画。

利用上面的事件和方法可使动画往返运动。 将代码改为下面的: import mx.transitions.Tween; import mx.transitions.easing.*; vae mytween:Tween = new Tween(ball_mc, \mytween. onMotionFinished = function(){ mytween. continueTo(0,3) } 测试影片,你会看到小球淡入然后又淡出的过程。 这段代码,我们做透明度的补间动画,使透明度用3秒时间从0变为100,当补间结束时,调用onMotionFinished事件代码,用 continueTo(0,3)方法又用3秒时间将透明度由100(刚才补间的结束值)变为0。因为要调用Tween的事件和方法,所以我们声明了一个 Tween类mytween,这一点也与上面的代码不一样。

yoyo()方法:

上面的代码虽然实现了,透明度由0到100,然后又从100回到0的动画,但回到0后,动画

就停止了。我们常常需要不停的往返运动,比如闪烁的星星,跳动的心脏等。那么Tween类为我们提供了yoyo()方法,这个方法在补间结束时,将初始值变为结束值,将结束值变为初始值,再次进行补间,如此往返永不停止。

记得一个红星跳动的表情吗?我们现在来制作它: 画一个红星,转换为MC,实例名称为:hx_mc. 帧动作代码: import mx.transitions.Tween; import mx.transitions.easing.*; var mytween:Tween = new Tween(hx_mc, \mytween.onMotionFinished = function(){ mytween.yoyo() } 测试影片,我们看到了一个跳动的红星。看到这个效果,我突然发现,如果把红星换成一只蝴蝶,那不就让蝴蝶飞起来了吗?

这个例子应用补间的属性是_xscale.

下面我们来制用一个弹性菜单的练习,完成本节上面的动画:

首先来做弹性菜单,做4个MC,比较简单,画一个黄色的矩形,如果你高兴,当然可以用其它颜色,在矩形上面放一个静态文本,内容分别是:“加速滚动的球”,“闪烁的星”,“跳动的红心”,“飞动的蝴蝶”。

有两点要注意:

1.将字打散(两次),因为文本框在放大时会保持长宽比例,而我们弹出菜单时只需要改变高度,所以必须将文本打散。

2.因为菜单是向下弹开(增加高度),因此,元件必须上对齐。即上边与十字对齐。 3.矩形的高度为20,如果你的高度不是20,那么下面的代码就要作相应改变。 4个元件做好后,将它们拖到舞台上,放好。实例名称为: cd1,cd2,cd3,cd4 然后打开帧动作面板,输入如下代码:

import mx.transitions.Tween; import mx.transitions.easing.*; var cdtween:Tween; function tc(cd) {

cdtween = new Tween(cd, \}

cd1.onRollOver = function(){ tc(this); }

cd1.onRollOut = function(){ cdtween.continueTo(20,1); }

cd2.onRollOver = function(){ tc(this); }

cd2.onRollOut = function(){ cdtween.continueTo(20,1); }

cd3.onRollOver = function(){ tc(this); }

cd3.onRollOut = function(){ cdtween.continueTo(20,1); }

cd4.onRollOver = function(){ tc(this); }

cd4.onRollOut = function(){ cdtween.continueTo(20,1);

} 测试影片,一个弹性菜单就做好了。 以前我们说过,如果要多次使用的代码,最好做成函数,弹出菜单的代码在4个菜单项上都要调用,所以我们将它做成函数tc.这个函数,用Tween类使菜单 MC,的高度在2秒内由20变成60,达到弹出的效果,缓动则菜用了Bounce.easeOut,在菜单展开后产生一个弹跳的效果。在函数外声明 Tween对象:var cdtween:Tween;是为了在鼠标移出菜单时能够调用它。

接下来的代码是,在鼠标移动菜单上时,调用tc 使菜单弹出。在鼠标移出菜单时,调用Tween类的continueTo()方法,使菜单收回去。

接下来用上面介绍的内容,做4个MC,分别是,一个加速运动的小球,一个闪烁的星,一个跳动的红心,一个飞动的蝴蝶。在库中点右键,打开连接面板,为这4个MC取标识名:ballmc(小球),xingmc(星),hxmc(红心),hdmc(蝴蝶)。

回到主场景,打开帧动作面板,接着上面的代码,在每个菜单项上,添加点击加载相应mc的命令。 cd1.onRelease = function(){ attachMovie(\ball_mc._y =200; } cd2.onRelease = function(){ attachMovie(\hx_mc._y = 200; hx_mc._x =260; } cd3.onRelease = function(){ attachMovie(\xing_mc._x = 260; xing_mc._y =200; } cd4.onRelease = function(){ attachMovie(\hd_mc._x = 260; hd_mc._y =200; } OK,试试吧。

第9节 使用滤镜

用AS实现滤镜效果、 使用滤镜

Flash的filters类为我们提供了9种滤镜效果,要用AS实现滤镜效果,首先仍然需导入filters类:

import flash.filters.*; 然后,使用new构造函数,创建一个filters对象,并将它赋值给MC(或文本或按钮)的filters属性从而实现滤镜效果。

下面分别介绍这些滤镜效果: 1. 模糊滤镜:BlurFilter

BlurFilter类可以带来模糊的效果。要创建BlurFilter实例可用下面的方法: var filter: BlurFilter = new BlurFilter(blurX, blurY, quality); 在BlurFilter的构造函数中使用了三个参数:

blurX: 水平模糊量。有效值为 0 到 255(浮点值)。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。

blurY: ― 垂直模糊量。有效值为 0 到 255(浮点值)。默认值是 4。作为 2 的乘方的值(如

2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。

quality: ― 应用滤镜的次数。默认值是 1,即表示低品质。值为 2 表示中等品质,值为 3 表示高品质并且接近高斯模糊。

下面还是用一个练习来熟悉模糊滤镜的应用。

导入一张图片将它做成MC,放到舞台上,实例名称为:my_mc. 然后打开帧动作面板,输入下列代码: import flash.filters.* var filter:BlurFilter = new BlurFilter(8,8,3); my_mc.filters = [filter]; 测试影片,这时图片已变模糊了。效果如下: 我们甚至可以在运行时改变模糊滤镜的参数,使模糊效果是可变的,比如根据鼠标的位置产生不同的模糊效果。将代码改成下面的: import flash.filters.* var filter:BlurFilter = new BlurFilter(8,8,3); my_mc.filters = [filter]; onMouseMove = function() { bx = Math.abs(_xmouse - my_mc._x); by = Math.abs(_ymouse - my_mc._y); filter.blurX = bx/10; filter.blurY = by/10; my_mc.filters = [filter]; } 测试影片,当鼠标移动时,模糊效果发生变化,鼠标距图片中心越远,模糊效果越深。效果如下:

2. 投影滤镜:DropShadowFilter

DropShadowFilter滤镜将产生投影的效果。要创建投影滤镜可用: var filter: DropShadowFilter = new DropShadowFilter(distance,

angleInDegrees,color,alpha,blurX,blurY,strength,quality,inner,knockout,hideObject);

投影影滤镜的参数比较多哈,还是一个一个介绍一下:

distance:― 阴影的偏移距离,以像素为单位。默认值是 4(浮点)。 angle:― 阴影的角度,0 到 360?(浮点)。默认值是 45。

color:― 阴影颜色,采用十六进制格式 0xRRGGBB。默认值是 0x000000。 alpha:― 阴影颜色的 Alpha 透明度值。有效值为 0 到 1。例如,0.25 设置透明度值为 25%。默认值是 1。

blurX:― 水平模糊量。有效值为 0 到 255(浮点)。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。

blurY:― 垂直模糊量。有效值为 0 到 255(浮点)。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。

strength:― 压印或跨页的强度。该值越高,压印的颜色越深,而且阴影与背景之间的对比度也越强。有效值为 0 到 255。默认值是 1。

quality:― 应用滤镜的次数。有效值为 0 到 15。默认值是 1,它表示低品质。值为 2 表示中等品质,值为 3 表示高品质。

inner:― 表示阴影是否为内侧阴影。值 true 指定内侧阴影。默认为 false,即外侧阴影,它表示对象外缘周围的阴影。

knockout:― 应用挖空效果 (true),这将有效地使对象的填色变为透明,并显示文档的背景颜色。默认值是 false,即不应用挖空效果。

hideObject:― 表示是否隐藏对象。如果值为 true,则表示没有绘制对象本身,只有阴影是可见的。默认值是 false(显示对象)。

做个练习,将上面练习的代码改为: import flash.filters.* var filter:DropShadowFilter = new DropShadowFilter(); my_mc.filters = [filter]; 测试影片,效果如下:图片产生了投影效果。因为投影滤镜的所有参数都是可选的,所以我们没有给任何参数,即都使用默认值。

同样的我们可以在运时改变投影的参数,从而改变效果。我们将这个效果改变加在图片的点击事件上,即点击图片投影效果发生改变。这里改变了三个参数,偏移量,颜色(随机)和角度。

效果:

代码如下:

import flash.filters.* var filter:DropShadowFilter = new DropShadowFilter(); my_mc.filters = [filter]; var i = 1; my_mc.onRelease = function():Void { if(filter.distance<5){ i=1; } else if (filter.distance>30){ i=-1; } filter.distance += i; filter.color = random(16000000); filter.angle++; my_mc.filters = [filter]; } 3.发光滤镜:GlowFilter 构造函数:

var filter:GlowFilter = new

GlowFilter(color,alpha,blurX,blurY,strength,quality,inner,knockout);

参数:

color:― 光晕颜色,采用十六进制格式 0x RRGGBB。默认值是 0xFF0000。

alpha:― 颜色的 Alpha 透明度值。有效值为 0 到 1。例如,.25 设置透明度值为 25%。默认值是 1。

blurX:― 水平模糊量。有效值为 0 到 255(浮点)。默认值是 6。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,它的呈现速度会比其它值更快。

blurY:― 垂直模糊量。有效值为 0 到 255(浮点)。默认值是 6。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,它的呈现速度会比其它值更快。

strength:― 压印或跨页的强度。该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。有效值为 0 到 255。默认值是 2。

quality:― 应用滤镜的次数。有效值为 0 到 15。默认值是 1,它表示低品质。值为 2 表示中等品质,值为 3 表示高品质。

inner:― 指定发光是否为内侧发光。值 true 表示内侧发光。默认值是 false,即外侧发光,它表示对象外缘周围的发光。

knockout:― 指定对象是否具有挖空效果。值为 true 将使对象的填充变为透明,并显示文档的背景颜色。默认值是 false(不应用挖空效果)。

效果:点击图片效果发生变化。 代码如下: import flash.filters.* var filter:GlowFilter = new GlowFilter(); my_mc.filters = [filter]; var i = 1; var j =0.1; my_mc.onRelease = function():Void { if(filter.blurX<5){ i=1; } else if (filter.blurX>250){

Flash ActionScript2.0教程

importmx.transitions.Tween;然后用newTween()方法即可实现。NewTween()方法格式:newTween(要应用补间的MC,要应用补间的MC的属性,缓动效果,属性的初始值,属性的结束值,补间的长度,补间长度的类型)下面介绍一下newTween()方法的参数。要应用补间的MC:这个就是要应用补间的
推荐度:
点击下载文档文档为doc格式
62uuu423a46cyp27mpdk
领取福利

微信扫码领取福利

微信扫码分享