tweenjs总是从0开始?

时间:2013-01-10 17:09:34

标签: javascript three.js tween

我正在使用这段代码来旋转一个带有三个js的平面,但是补间总是从0开始,它似乎忽略了初始值(a),当我在控制台中打印它时,它是正常的。

例如

我想要一个从40到60的补间,但这段代码总是从0到60。

a = {rotationY:plane.rotation.y};
b = json["rooms"][currentRoom]["camera"]; //{"rotationY":60}
var tween = new TWEEN.Tween(a)
        .to(b, 500)
        .easing( TWEEN.Easing.Quartic.Out )
        .onUpdate(function(){
            plane.rotation.y = (this.rotationY*2*Math.PI)/360;
        });

tween.start();

1 个答案:

答案 0 :(得分:1)

这是我身上一个非常愚蠢的错误......

var position = {rotationY:(plane.rotation.y*360/(2*Math.PI))};
var target = json["rooms"][currentRoom]["camera"];
var tween = new TWEEN.Tween(position)
            .to(target, 500)
            .easing( TWEEN.Easing.Quartic.Out )
            .onUpdate(function(){
                plane.rotation.y = (this.rotationY*2*Math.PI)/360;
});
tween.start();

创建补间时,初始值为radiants,目标设置为度......