举个例子:缓动摄像机
/**
* 缓动摄像机
* @param z z轴移动到的位置
* @param speed 移动速度
*/
public setCamera(z: number, speed?: number) {
if (speed === void 0) { speed = 0.3; }
var thiz = this;
//创建一个Tween的属性对像
var countdown = { value: thiz.mCamera.transform.position.z };
//缓动动画 参数1:属性对象;参数2:终止值(对象);参数3:持续时长,ms;参数4:缓动特效(比如回弹,加速等)...
//其中参数2中,有个update属性,值为Handler,即为动画执行时的回调,该回调中,可获取当前属性对象的属性值
Laya.Tween.to(countdown, {
value: z + 2, update: new Laya.Handler(this, function () {
thiz.mCamera.transform.position = (new Laya.Vector3(2, 2, countdown.value));
//移动灯光位置
thiz.light.transform.position = (new Laya.Vector3(-2, -2, countdown.value - 2));
// thiz.mCamare.transform.lookAt(new Laya.Vector3(0, 0, 0), new Laya.Vector3(0, countdown.value, 1), false);
})
}, speed * 1000, Laya.Ease.linearIn);
}