饥人谷技术博客

tweenjs

2018-01-06  本文已影响1217人  bowen_wu

tweenjs 是使用 JavaScript 中的一个简单的补间动画库,支持数字、对象的属性和 CSS 样式属性的赋值。

tweenjs 以平滑的方式修改元素的属性值,需要传递给 tween 要修改的值、动画结束时的最终值和动画花费时间(duration),之后 tween 引擎就可以计算从开始动画点到结束动画点之间值,从而产生平滑的动画效果。

使用

示例说明

  1. 假设有一个对象 position ,它的坐标为 x 和 y
var position = { x: 100, y: 0 }
  1. 改变 x 的值从 100 到 200 ,持续时间为 1s
var tween = new TWEEN.Tween(position)
tween.to({x: 200}, 1000)
  1. 创建 tween 对象后,激活它,从而让它开始动画
tween.start();
  1. 为了平滑的动画效果,需要在同一个循环动画中调用 TWEEN.update 方法
animate();
function animate(){
    requestAnimationFrame(animate);
    TWEEN.update();
}

这个动作将会更新所有被激活的 tweens ,在 1s 内 position.x 将变为 200 。

  1. 可以使用 onUpdate 回调函数将结果打印到控制台上
tween.onUpdate(function(){
    console.log( this.x );
})

这个函数在每次 tween 被更新时都会被调用

tweenjs 动画

Tween.js 本身不会运行,你需要通过 update 方法明确告诉它什么时候开始运行,推荐在动画主循环中使用该动画,可以调用 requestAnimationFrame 方法来获得良好的图像性能

使用无参数的调用方法,update 将明确当前时间。也可以为 update 方法法明确一个时间。

TWEEN.update(100);

update 的时间为 100毫秒 ,可以使用这种方法来明确代码中所有随时间变化的函数。

控制 tween 动画

回调函数

可以在每次 tween 循环周期的指定时间点调用自定义的函数

var tween = new TWEEN.Tween({

}).to({

}).onStart(function(){

}).onUpdate(function(){

})

动画运动算法(缓动函数)easing函数

缓动方式(效果)easing类型

使用公式

.easing(TWEEN.Easing.easing函数.easing类型)

tweenjs 源码

控制动画方法 缓动函数
上一篇下一篇

猜你喜欢

热点阅读