网站制作学习网Flash→正文:actionScripts3.0创建补间动画
字体:

actionScripts3.0创建补间动画

Flash 2011/7/30 14:43:32  点击:不统计

forasp.cn

新的actionScript 3.0 有动态穿件补间动画的类,通过as语言直接动态创建补间动画。下面对actionScrip3.0动态创建补间动画进行介绍,并附有案例。

1.首先要引入actionScript3.0创建补间动画的类。
 引入的主要类有两个
 一个是import fl.transitions.Tween; 类,用来创建补间动画对象和实现动态补间动画
 一个是import fl.transitions.easing.*;类,该类主要用户补间动画的特殊效果使用。一般把所有的效果有引入所以用*
2.as3创建补间动画的语法。
  首先通过actionScript3.0测试创建一个简单的补间动画
  代码如下:
import fl.transitions.Tween;
import fl.transitions.easing.*;
forasp.addEventListener(MouseEvent.CLICK,P);
function P(me:MouseEvent):void{
var tween:Tween = new Tween(yuan,"y",None.easeOut,0,200,5,true);
}
效果如下:

其中 forasp 是我定义的一个按钮,yuan是那个圆形的图像对象
那么看定义补间动画的语法
var 补间实例:Tween = new Tween(操作对象,操作属性,变化形式,操作属性开始值,操作属性结束值,经历时间,布尔值);这就是actionScript动态创建补间动画的语法,下面详细解释一下。
(1)补间实例;创建补间实例后,即该补间动画开始运行,补间实例有很多的方法和属性。下面是其属性和方法
    属性 定义方
    begin : Number = NaN  补间开始前目标对象的指定属性的初始值。 Tween
    constructor : Object对类对象或给定对象实例的构造函数的引用。 Object
    duration : Number以帧或秒为单位的补间动画的持续时间。 Tween
    finish : Number一个数字,指示要补间的目标对象属性的结束值。 Tween
    FPS : Number计入补间动画的每秒的帧数。 Tween
    func : Function用于补间的缓动函数。 Tween
    isPlaying : Boolean = false指示当前是否正在播放补间动画。 Tween
    looping : Boolean = false指示补间是否将循环。 Tween
    obj : Object = null正在进行补间的目标对象。 Tween
    position : Number目标对象补间属性的当前值。 Tween
    prop : String受目标对象的补间影响的属性的名称。 Tween
    prototype : Object[静态] 对类或函数对象的原型对象的引用。 Object
    time : Number动画持续时间内的当前时间。 Tween
    useSeconds : Boolean = false指示补间是否播放一段时间或帧数。
  方法 定义方
    Tween(obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number,useSeconds:Boolean = false)创建 Tween 类的实例。 Tween
   addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0,useWeakReference:Boolean = false):void使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。EventDispatcher    
continueTo(finish:Number, duration:Number):void指示补间动画从当前动画点继续补间到一个新的结束和持续时间点。

Tween
   dispatchEvent(event:Event):Boolean将事件调度到事件流中。 EventDispatcher
    fforward():void将补间动画直接快进到补间动画的最终值。 Tween
   hasEventListener(type:String):Boolean检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。

EventDispatcher
   hasOwnProperty(name:String):Boolean指示对象是否已经定义了指定的属性。 Object
   isPrototypeOf(theClass:Object):Boolean指示 Object 类的实例是否在指定为参数的对象的原型链中。 Object
    nextFrame():void将补间动画快进到已停止的动画的下一帧。  Tween
    prevFrame():void从已停止动画的当前停止点播放补间动画的前一帧。  Tween
   propertyIsEnumerable(name:String):Boolean指示指定的属性是否存在、是否可枚举。 Object
   removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void从 EventDispatcher 对象中删除侦听器。 EventDispatcher
    resume():void继续播放已停止的补间动画。  Tween
    rewind(t:Number = 0):void使补间动画的播放后退到其开始值。 Tween
   setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void设置循环操作动态属性的可用性。 Object
    start():void从开始点开始播放补间动画。  Tween
    stop():void在当前值停止播放补间动画。 Tween
   toLocaleString():String返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 Object
   toString():String返回指定对象的字符串表示形式。 Object
   valueOf():Object返回指定对象的原始值。 Object
   willTrigger(type:String):Boolean检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。

EventDispatcher
    yoyo():void指示补间动画按与其补间属性最后一次增加的方向相反的方向播放。 
(2)操作对象,即补间动画所要操作的对象名称。
(3)操作属性 即补间要变换的内容,比如上面案例是操作的yuan对象的y轴位置。可以为x ,y widthheight rotation lpha

scaleX scaleY 等属性
(4) 变化形式,变化形式有多种。组要是引入了import fl.transitions.easing.*;类包,下面是变化形式(上例子中用的是None类)
   Back类方法 定义
    easeIn方法开始时往后运动,然后反向朝目标移动。
    easeInOut() 方法结合了 easeIn() 和 easeOut() 方法的运动,开始运动时是向后跟踪,再倒转方向并朝目标移动,稍微过冲目标,然后再次倒转方向,回来朝目标移动。       easeOut方法开始运动时是朝目标移动,稍微过冲,再倒转方向回来朝着目标
    详细:http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/fl/transitions/easing/Back.html
  还有Bounce,Elastic,None,Regular,Strong类,方法相同,但是效果不同,具体参考
   http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/fl/transitions/easing/package-detail.html
(5)开始属性值,(6)结束属性值,这就不用多说了
(7)补间动画所需要的时间,如果(8)是true 则单位为妙s 如果是false则为毫秒 ms
(8)设置补间时间单位,true 秒s flash 毫秒ms

附加一个案例代码 actionScript 动态创建补间动画
import fl.transitions.Tween;
import fl.transitions.easing.*;
var o;
forasp.addEventListener(MouseEvent.CLICK,P);
back.addEventListener(MouseEvent.CLICK,B);
var tween;
function P(me:MouseEvent):void{
 var tween:Tween = new Tween(yuan,"y",Back.easeOut,0,200,5,true);
 o = tween;
// tween.stop();
}
function B(me:MouseEvent):void{
 o.yoyo();
}
效果如下:点击一下试试:注意必须先点击下面的创建补间对象。
 


·上一篇:as3.0全屏代码 >>    ·下一篇:actionScript控制影片剪辑属性 >>
推荐文章
最新文章