当前位置: 首页 > 图文教程 > Flash动画 > Flash动画基础 > 实例详解AS代码完成Flash补间动画

Flash动画基础
Flash Player 10安全升级版本号为10.0.22.87
分享Flash处理安全策略的经验
纯文字论述:如何学Flash
Flash动画制作学习的心得
网页中演示类FLASH动画制作规范
Flash cs3仿真艺术设计1.15:全新的Flash界面
Flash教程:制作卡片翻转动态效果
Flash教程:片头加载loading的制作方法
Flash CS4教程:3d工具实例和骨骼工具
用Flash做网站导航同样要注意用户可用性
捕获设计灵感 25个Flash作品集网站
30个国外的非常精美的FLASH网站实例实例
威胁到Flash的几个技术
FLVPlayer组件识别非flv后缀视频
Flash入门(2):文件的导出和导入
Flash CS4基础(2):掌握动画预设
流量统计无法从FLASH连接中统计来路
Flash入门教程,学习遮照在Flash中的运用
Flash cs3仿真艺术设计 轻松制作飞舞的蝴蝶
flash 超链接问题

Flash动画基础 中的 实例详解AS代码完成Flash补间动画


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-15   浏览: 336 ::
收藏到网摘: n/a

说到补间动画,很多人都会想到在时间轴里定义两个关键帧,然后创建一个补间,其实AS也可以完成等效的工作,而且能完成的更好。

要用程序创建补间,有两种方法,一种是通过setInterval函数,定时移动mc,可以达到效果,但比较麻烦。第二种就是今天要推荐的通过Tween类来创建补间动画。

为什么Tween比setInterval方便呢,首先代码量少,看着舒服,其次,Tween类可以使用一些比较有名的缓动类,还有,Tween类可以广播和侦听事件,这三点就足以让我们选择Tween而不是setInterval。

先来说一下Tween类的用法

要用Tween类,首先要导入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);
  }
}