我使用这段代码来旋转一个有三个is的平面,但是补间总是从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();发布于 2013-01-11 18:17:15
这对我来说是个非常愚蠢的错误。
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();补间是使用以辐射度为单位的初始值和以度为单位的目标创建的。
https://stackoverflow.com/questions/14263392
复制相似问题