`
kerlubasola
  • 浏览: 709963 次
文章分类
社区版块
存档分类
最新评论

Flash ActionScript (10)使用Tween缓动类创建各种动画效果

 
阅读更多
Flash动画可以有很多的制作方法。其中包括补间动画,逐帧动画,遮罩动画,引导线动画,等等。组合这些动画我们可以创建出丰富多彩的动画效果。我们利用As3.0脚本还可以创建出更多的动画类型,其中Tween类包含了几种动画类型,今天我们就来介绍一下Tween缓动类。Tween类包含6种类型:Back、Bounce、Elastic、None、Regular、Strong。每种类型包含三个方法,分别是:easeIn、easeInOut和easeOut。其中None类型还包含一种easeNone方法。各种方法的运动类型有不同。看看下面的表格:
//语法标注解释 ease英音:[i:z]美音:[iz]缓和,容易

Flash ActionScript3.0缓动类
类型
easeIn()方法
easeInOut()方法
easeOut()方法
Back
开始时往后运动,然后反向朝目标移动。
开始运动时是向后跟踪,再倒转方向并朝目标移动,稍微过冲目标,然后再次倒转方向,回来朝目标移动。
开始运动时是朝目标移动,稍微过冲,再倒转方向回来朝着目标。
Bounce
以较慢速度开始回弹运动,然后在执行时加快运动速度。
缓慢地开始跳动,进行加速运动,再进行减速。
以较快速度开始回弹运动,然后在执行时减慢运动速度。
Elastic
以较慢速度开始运动,然后在执行时加快运动速度。
缓慢地开始运动,进行加速运动,再进行减速。
以较快速度开始运动,然后在执行时减慢运动速度。
None
一种没有加速的持续运动。
同左
同左
Regular
以零速率开始运动,然后在执行时加快运动速度。
开始运动时速率为零,先对运动进行加速,再减速直到速率为零。
以较快速度开始运动,然后在执行时减慢运动速度,直至速率为零。
Strong
以零速率开始运动,然后在执行时加快运动速度。
开始运动时速率为零,先对运动进行加速,再减速直到速率为零。
以较快速度开始运动,然后在执行时减慢运动速度,直至速率为零。
//bounce英音:[bauns]美音:[bauns]弹起,弹回
//elastic英音:[i'læstik]美音:[ɪ'læstɪk]灵活的,可伸缩的,有弹性的,有弹力的
//regular英音:['regjulə]美音:['rɛgjəlɚ]规则的,有规律的;固定的;正常的
我利用上述方法制作了一个小实例。实例中,我创建了五个小球,每个小球使用了一种运动类型的单个方法。
import fl.transitions.Transition;
import fl.transitions.Tween;
import fl.transitions.easing.*;
var duration:Number=3;
var fInOutishValue:Number=345
one.addEventListener(MouseEvent.CLICK,click1)
function click1(e:MouseEvent):void{
  var mytween1:Tween=new Tween(one, "y", Back.easeOut, 0, fInOutishValue, duration, true);
  mytext.text="Back.easeOut():朝目标移动,稍微过冲,再倒转方向回来朝着目标。"
}
two.addEventListener(MouseEvent.CLICK,click2)
function click2(e:MouseEvent):void{
  var myarray2:Tween=new Tween(two, "y", Bounce.easeOut, 0, fInOutishValue, duration, true);
  mytext.text="Bounce.easeOut() 方法以较快速度开始回弹运动,然后在执行时减慢运动速度。"
}
three.addEventListener(MouseEvent.CLICK,click3)
function click3(e:MouseEvent):void{
  var myarray3:Tween=new Tween(three, "y", Elastic.easeInOut, 0, fInOutishValue, duration, true);
  mytext.text="Elastic.easeOut() 方法以较快速度开始运动,然后在执行时减慢运动速度。"
}
four.addEventListener(MouseEvent.CLICK,click4)
function click4(e:MouseEvent):void{
  var myarray4:Tween=new Tween(four, "y", Regular.easeOut, 0, fInOutishValue, duration, true);
  mytext.text=" Regular.easeOut() 方法以较快速度开始运动,然后在执行时减慢运动速度,直至速率为零。"
}
five.addEventListener(MouseEvent.CLICK,click5)
function click5(e:MouseEvent):void{
  var myarray5:Tween=new Tween(five, "y", Strong.easeOut, 0, fInOutishValue, duration, true);
  mytext.text="Strong.easeOut() 方法以较快速度开始运动,然后在执行时减慢运动速度,直至速率为零。"
}

==============================================================

  说到补间,很多人都会想到在时间轴里定义两个关键帧,然后创建一个补间,其实AS也可以完成等效的工作,而且能完成的更好。
  要用程序创建补间,有两种方法,一种是通过setInterval函数,定时移动mc,可以达到效果,但比较麻烦。第二种就是今天要推荐的通过Tween类来创建补间动画。
  为什么Tween比setInterval方便呢,首先代码量少,看着舒服,其次,Tween类可以使用一些比较有名的缓动类,还有,Tween类可以广播和侦听事件,这三点就足以让我们选择Tween而不是setInterval。
  先来说一下Tween类的用法
  要用Tween类,首先要导入Tween类
import mx.transtions.Tween;
  Tween类的语法是
var twMove:Tween=new Tween(mClip,"_x",null,0,550,10,true);
  来解释一下:
mClip:显示对象——对要显示对象的引用
_x:要补间的属性
缓动函数:对一个缓动函数的引用,这里是null,就是不引用
0——补间属性的开始值
550——补间属性的结束值
10——持续时间
使用秒——true 使用,false不使用
  由于Tween类广播事件,因此可以对Tween类建立侦听器,具体Tween类的方法,请查看帮助。
  下面是一个实例,请事先做好链接标识符为“ball”的MC,拷贝以下代码到第一帧。
import mx.transitions.Tween;
import mx.transitions.easing.*;
var aClass=[Back,Bounce,Elastic,Regular,Strong];
var aEasingMethod:Array=new Array();
//在aEasingMethod中放入每个缓动方法
for(i=0; i < aClass.length; i++){
aEasingMethod.push(aClass[i].easeIn);
aEasingMethod.push(aClass[i].easeOut);
aEasingMethod.push(aClass[i].easeInOut);
}
//定义初始变量
var nX=10;
var Y=20;
var oClips:Object=new Object();
//建立侦听器
var tListener:Object=new Object();
tListener.onMotionFinished=function(twObject:Tween){
//缓动结束时按原路径返回
twObject.yoyo();
}
for(i=0; i < aEasingMethod.length; i++){
depth=this.getNextHighestDepth();
mClip=this.attachMovie("ball","ball"+i,depth,{_x:nX,_y:Y});
//设置x坐标
nX+=mClip._width+10;
//将一个缓动方法添加到oClips对象
oClips[mClip._name]=aEasingMethod[i];
//当用户点击时开始_y属性的补间
mClip.onPress=function(){
var twMove:Tween = new Tween(this,"_y",oClips[this._name],20,400,4,true);
//添加侦听器
twMove.addListener(tListener);
}
}

分享到:
评论

相关推荐

    Flash Flash actionscript 3.0 动画教程源码

    - **补间动画**:通过改变对象的属性(如位置、大小、颜色)在帧之间创建平滑过渡,可使用Tween类或手动实现。 - **帧动画**:在时间轴上逐帧绘制,通过播放帧序列形成动画。 4. **事件处理** - **...

    Flash+ActionScript+3.0高级动画教程+源代码

    5. **时间轴控制**:掌握如何使用Tween类和TimelineControl类进行动画制作,以及使用Stop()和Play()函数控制动画播放。 6. **音频和视频处理**:学习如何嵌入和控制媒体文件,实现音频和视频的播放、暂停、停止等...

    Flash ActionScript 3.0高级动画教程 [文字版+源代码]

    4. **时间轴控制**:掌握如何使用TimelineControl类和Tween类来实现基于时间的动画效果。这包括帧标签、帧脚本、动画补间和动作补间。 5. **图形绘制与变形**:使用Graphics类,可以实现自定义图形的绘制,包括线条...

    缓动 TweenMax 非常强大的as3.0缓动类

    2. **丰富的缓动类型**:`TweenMax` 提供了各种预定义的缓动函数,如EaseInOut、Back、Elastic、Bounce等,可以根据需求选择合适的缓动效果。 3. **链式调用**:由于返回的是当前 `TweenMax` 实例,所以可以进行...

    tween自动动画

    Tween动画在IT行业中,特别是在游戏开发、网页设计和应用程序界面设计等领域,是一种广泛使用的动态效果技术。Tween,中文可译为“缓动”,它能够平滑地改变对象的属性,如位置、大小、颜色等,使得动画过渡更加自然...

    [Flash.ActionScript.3.0动画教程]源代码

    【Flash.ActionScript.3.0动画教程】源代码是一份专为学习ActionScript 3.0编程和在Flash环境中创建动态动画设计的教程资源。这个压缩包包含了丰富的实例和源文件,帮助用户深入理解ActionScript 3.0的语法、功能...

    actionscript 3.0动画制作教程

    7. **动画库和类**:除了基本的动画原理,AS3.0还提供了许多内置的动画库和类,如`TweenLite`和`TweenMax`(来自GreenSock),它们提供更高级的缓动函数和更简洁的语法,使得动画制作更加高效。 8. **时间轴和代码...

    Flash ActionScript 3.0 动画教程

    6. **动画原理与制作**:掌握使用Tween类和TimelineCSM(时间线补间)创建平滑动画的方法,以及如何实现自定义的动画效果。 7. **音频与视频处理**:学习如何加载、播放、控制和操作音频和视频,包括流媒体和本地...

    Flash手机来电震动效果动画.rar

    而手机震动效果的创建,可能涉及到使用Tween类(渐变动画)来改变对象的位置,模拟物体在桌面上振动的物理运动。ActionScript中的Tween类允许开发者创建平滑的动画过渡,使得动画更加自然流畅。 至于铃声音效,...

    Flash ActionScript 3.0 动画高级教程 源码

    2. Tween动画:展示了如何使用内置或第三方库创建平滑的动画效果。 3. 事件处理:解释如何监听和响应用户输入,以及如何用事件驱动方式控制动画。 4. A*算法实现:可能包括一个完整的A*寻路系统,包括网格布局、代价...

    actionscript代码产生动画的技巧flash源码

    可以使用`Tween`类或者`TweenMax`(来自GreenSock库)等第三方工具进行补间动画的创建。 4. **形状补间**: 在ActionScript中,形状补间允许形状在帧之间渐变,但仅限于矢量图形。这通常在时间轴上设置,但在某些...

    Flashas3缓动

    在Flash AS3编程中,缓动(Tweening)是一种关键的技术,它用于平滑地过渡对象的属性,如位置、大小、透明度等,从而创建出流畅、自然的动画效果。这种技术使得开发者能够更精确地控制动画的时间流逝和变化速度,给...

    as3缓动类greensock-as3_Tween

    AS3缓动类GreenSock AS3 Tween是一款在ActionScript 3.0中广泛使用的动画库,主要用于创建平滑、复杂的过渡效果。GreenSock Animation Platform (GSAP) 是这个库的核心,它提供了强大的Tween(缓动)功能,允许...

    flash基于时间帧的动画

    2. `Tween`类:Tween是平滑过渡的意思,用于在两个关键帧之间创建平滑的动画效果。通过`Tween`类,可以实现对象属性如位置、颜色、透明度等的缓动变化。例如,`createTween(object, duration, properties)`可以创建...

    Flash.ActionScript.3.0动画教程源代码

    3. **动画类与补间动画**:ActionScript 3.0中,可以创建自定义的动画类,结合`Tween`对象实现平滑的属性变化,如位置、颜色、透明度等。 4. **事件处理**:动画往往需要响应用户交互,如点击、鼠标移动等。...

    flash编程,用缓动跟随效果开发小游戏,源代码

    缓动跟随是一种常用于创建平滑过渡和动画效果的技术,它使得游戏中的对象能够更自然地移动,增加游戏的视觉吸引力。我们将主要关注ActionScript(AS)语言,这是Flash编程的核心,以及碰撞感知语句在游戏开发中的...

    FlashAS3动画教程

    - **Tween类**:使用Tween类可以创建非线性动画效果,如缓入缓出,为动画添加更自然的过渡效果。 - **Transform类**:Transform类用于处理对象的位置、旋转、缩放等属性,从而实现更复杂的动画效果。 - **Timeline类...

    flash水波制作与缓动的源文件

    在Flash中,缓动通常与补间动画一起使用,可以改变动画的速度曲线,比如从快速加速到慢速停止,或者从慢速开始逐渐加速。缓动选项包括Ease In(渐入)、Ease Out(渐出)和Ease In Out(渐入渐出)等,这些可以调整...

    Flex动画效果教程

    1. **Tween动画**:Tween(缓动)是Flex中最基本的动画形式,它通过改变对象的属性值(如位置、大小、颜色等)来创建平滑过渡效果。Tween动画可以分为两种类型:运动Tween(motion tween)和形状Tween(shape tween...

Global site tag (gtag.js) - Google Analytics