我想让一个圆形物体移动到位置球的位置,但是无论何时它接近球位置,它都会放慢,无论它开始移动的位置。我似乎无法使其以恒定速度移动而不会放慢速度。JS CANVAS - 当达到目标位置时圈速变慢
我使用lerp进行线性插值并直接在我的移动函数中使用它。
function lerp(v0, v1, t) {
return v0 * (1 - t) + v1 * t;
};
FPS = 60;
function Objects(/*parameters*/){
this.pos = new Vector2D(x, y);
this.move = function(x, y){
this.pos.x = lerp(this.pos.x, x, FPS/1000);
this.pos.y = lerp(this.pos.y, y, FPS/1000);
};
};
function update(){
//Move object to ball position
SuperObject.move(ball.pos.x, ball.pos.y);
drawObjects();
setTimeout(update, 1000/FPS);
};
DEMO链接:http://codepen.io/knoxgon/pen/EWVyzv
是否能重现上的jsfiddle的问题会更容易理解 – Mihai
@Mihai据上传:) –