跳到主要内容

egret.Tween

   egret

   public class Tween

继承    egret.Tween → egret.EventDispatcheregret.HashObject

Tween是Egret的动画缓动类

公共属性

属性

公共方法

方法
call(callback:Function,thisObj:any,params:any[]):egret.Tween
执行回调函数
get(target:any,props:{loop?:boolean,onChange?:Function,onChangeObj?:any},pluginData:any,override:boolean):egret.Tween
[静态]激活一个对象,对其添加 Tween 动画
pause(tween:egret.Tween):egret.Tween
暂停
pauseTweens(target:any):void
[静态]暂停某个对象的所有 Tween
play(tween:egret.Tween):egret.Tween
执行
removeAllTweens():void
[静态]删除所有 Tween
removeTweens(target:any):void
[静态]删除一个对象上的全部 Tween 动画
resumeTweens(target:any):void
[静态]继续播放某个对象的所有缓动
set(props:any,target):egret.Tween
Now modify the properties of the specified object to the specified value
setPaused(value:boolean):egret.Tween
设置是否暂停
to(props:any,duration:number,ease:Function)
将指定对象的属性修改为指定值
wait(duration:number,passive:boolean):egret.Tween
等待指定毫秒后执行下一个动画

属性详细信息

方法详细信息

call()

public call(callback:Function,thisObj:any,params:any[]):egret.Tween

执行回调函数

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • callback:Function - 回调方法
    • thisObj:any - 回调方法this作用域
    • params:any[] - 回调方法参数
  • 返回:Tween对象本身

//Example:
egret.Tween.get(display).call(function (a: number, b: string) {
console.log("a: " + a); //对应传入的第一个参数 233
console.log("b: " + b); //对应传入的第二个参数 “hello”
}, this, [233, "hello"]);

get()

public get(target:any,props:{loop?:boolean,onChange?:Function,onChangeObj?:any},pluginData:any,override:boolean):egret.Tween

激活一个对象,对其添加 Tween 动画

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • target:any - 要激活 Tween 的对象
    • props:{loop?:boolean,onChange?:Function,onChangeObj?:any} - 参数,支持loop(循环播放) onChange(变化函数) onChangeObj(变化函数作用域)
    • pluginData:any - 暂未实现
    • override:boolean - 是否移除对象之前添加的tween,默认值false。不建议使用,可使用 Tween.removeTweens(target) 代替。

pause()

public pause(tween:egret.Tween):egret.Tween

暂停

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • tween:egret.Tween - 需要操作的 Tween 对象,默认this
  • 返回:Tween对象本身

pauseTweens()

public pauseTweens(target:any):void

暂停某个对象的所有 Tween

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • target:any - 要暂停 Tween 的对象

play()

public play(tween:egret.Tween):egret.Tween

执行

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • tween:egret.Tween - 需要操作的 Tween 对象,默认this
  • 返回:Tween对象本身

removeAllTweens()

public removeAllTweens():void

删除所有 Tween

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

removeTweens()

public removeTweens(target:any):void

删除一个对象上的全部 Tween 动画

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • target:any - 需要移除 Tween 的对象

resumeTweens()

public resumeTweens(target:any):void

继续播放某个对象的所有缓动

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • target:any - 要继续播放 Tween 的对象

set()

public set(props:any,target):egret.Tween

Now modify the properties of the specified object to the specified value

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • props:any - Property set of an object
    • target - The object whose Tween to be resumed
  • 返回:Tween object itself

setPaused()

public setPaused(value:boolean):egret.Tween

设置是否暂停

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:Tween对象本身

to()

public to(props:any,duration:number,ease:Function)

将指定对象的属性修改为指定值

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • props:any - 对象的属性集合
    • duration:number - 持续时间
    • ease:Function - 缓动算法
  • 返回:Tween对象本身

wait()

public wait(duration:number,passive:boolean):egret.Tween

等待指定毫秒后执行下一个动画

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • duration:number - 要等待的时间,以毫秒为单位
    • passive:boolean - 等待期间属性是否会更新
  • 返回:Tween对象本身

示例

/*
* 以下示例演示了使用 Tween 实现简单动画。
*/
class TweenExample extends egret.DisplayObjectContainer {
public constructor() {
super();
const shape: egret.Shape = new egret.Shape();
shape.graphics.beginFill(0xff0000);
shape.graphics.drawRect(0, 0, 100, 100);
shape.graphics.endFill();
shape.x = shape.y = 100;
this.addChild(shape);
//创建 Tween 对象
egret.Tween.get(shape, {
loop: true,
onChange: this.onChange,
onChangeObj: this //更新函数作用域
})
.to({ rotation: 360 }, 2000) //设置2000毫秒内 rotation 属性变为360
.wait(1000) //设置等待1000毫秒
.call(this.onComplete, this, ["param1", { key: "key", value: 3 }]); //设置回调函数及作用域,可用于侦听动画完成
}
private onChange(): void {
egret.log("onChange");
}
private onComplete(param1: string, param2: any): void {
egret.log("onComplete");
egret.log(param1);
egret.log(param2);
}
}