免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享

第十八课:影片剪辑Part8补间动画

本文来自:★flash之路-flash技术交流★ 转帖请注明出处! 作者:网雨霏霏 您是第4034个浏览者

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

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

x
flashroad友情提示:
“点评”不是“回帖”!

flash mx.transitions.Tween类可以实现类似补间动画的效果。要使用Tween类,首先还是将它导入:
import mx.transitions.Tween;




一、new Tween()方法
new Tween(要应用补间的MC,要应用补间的MC的属性,缓动效果,属性的初始值,属性的结束值,补间的长度,补间长度的类型)

各参数的含义:
1、要应用补间的MC:这个就是要应用补间的MC罗。
2、要应用补间的MC的属性:补间动画实际就是用一定的时间改变对象的属性。比如位移就是改变_x或_y属性,还有其它的如_xscal、_alpha等。这里就是指这些属性的名称。
3、缓动效果:在上一节我们已经介绍了。
4、属性的初始值:比如要用补间的是_x属性,我们要建立对象从舞台左边移到右边的补间动画,那么_x的初始值就应很小,比如0,10,50等,即对象在舞台左边时的_x值。
4、属性的结束值:补间结束时属性的值,比如对象移到舞台右边时的_x的值。
5、补间的长度:可以有两种表示方式:秒或帧,但这里只是一个数值,是用秒还是用帧来计算补间由后面一个参数来决定。
6、补间长度的类型:决定是用秒还是用帧来计算补间,如果为true则用秒来计算,如果为false则用帧来计算。



下面我们来制作我们的第一个补间动画,让一个小球从舞台的左边移到右边:
1、画一个球吧,转换为MC,实例名称为
ball_mc
2、打开帧动作面板,输入如下代码:

本帖隐藏的内容需要回复才可以浏览

测试影片,小球将从左边(20像数处)移到右边(500像素处),用时3秒。

上面这个效果没有用缓动效果。我们回忆一下上一节介绍的缓动效果,似乎有一个叫Regular的缓动类,它将实现减慢的效果,我们给它调用easeIn方法,即在补间开始时减慢,这样是不是就实现了从慢到快的效果呢?将代码改成下面的:

本帖隐藏的内容需要回复才可以浏览

测试影片,我们看到小球由慢到快从左边移到右边。在这段代码中,改变了三个参数,一个是缓动效果,一个是补间长度用了40,再一个就长度类型用了false,这样这个补间长度不再是3秒,而是40帧。




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




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

利用上面的事件和方法可使动画往返运动。

将代码改为下面的:

本帖隐藏的内容需要回复才可以浏览

测试影片,你会看到小球淡入然后又淡出的过程。
这段代码,我们做透明度的补间动画,使透明度用3秒时间从0变为100,当补间结束时,调用onMotionFinished事件代码,用 continueTo(0,3)方法又用3秒时间将透明度由100(刚才补间的结束值)变为0。因为要调用Tween的事件和方法,所以我们声明了一个Tweenmytween,这一点也与上面的代码不一样。




四、yoyo()方法:
       上面的代码虽然实现了,透明度由0到100,然后又从100回到0的动画,但回到0后,动画就停止了。我们常常需要不停的往返运动,比如闪烁的星星,跳动的心脏等。那么Tween类为我们提供了yoyo()方法,这个方法在补间结束时,将初始值变为结束值,将结束值变为初始值,再次进行补间,如此往返永不停止。

记得一个红星跳动的表情吗?我们现在来制作它:
画一个红星,转换为MC,实例名称为:hx_mc.

帧动作代码:

本帖隐藏的内容需要回复才可以浏览

测试影片,我们看到了一个跳动的红星。看到这个效果,我突然发现,如果把红星换成一只蝴蝶,那不就让蝴蝶飞起来了吗?
这个例子应用补间的属性是_xscale




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

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

有两点要注意:

1.将字打散(两次),因为文本框在放大时会保持长宽比例,而我们弹出菜单时只需要改变高度,所以必须将文本打散。
2.因为菜单是向下弹开(增加高度),因此,元件必须上对齐。即上边与十字对齐。
3.矩形的高度为20,如果你的高度不是20,那么下面的代码就要作相应改变。
4个元件做好后,将它们拖到舞台上,放好。实例名称为: cd1,cd2,cd3,cd4

然后打开帧动作面板,输入如下代码:

本帖隐藏的内容需要回复才可以浏览

测试影片,一个弹性菜单就做好了。




以前我们说过,如果要多次使用的代码,最好做成函数,弹出菜单的代码在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的命令。

本帖隐藏的内容需要回复才可以浏览

OK,试试吧。

您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.

友情提示:单击下列任意一个表情,即可瞬间自动回复本帖!

好贴......
郁闷......
开心......
擦汗......
鄙视......
狂怒
谢谢
爱你呦
拜托了
嗯嗯
OMG
求关注
伤心......
无奈.....
无奈.....
无奈.....
无奈.....
无奈.....
哈哈哈
NO
OK
what
我来了

最近访问本帖者列表:

打赏

取消

感谢您的支持,我会继续努力的!

扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by 爱秀代码,分享从这里开始,精彩与您同在

点评
B Color Smilies

您还可以输入:个字符
X

X

 

B Color Image Link Quote Code Smilies
高级模式 | 发新话题

您需要登录后才可以回帖 登录|立即注册

快速
返回顶部
返回首页