以下是我用于移动对象的代码:
let XX = 0
let YY = 0
let maxSpeed = 100;
if(keyDown.w) {
XX += Math.sin(angle*Math.PI/180)*moveSpeed;
YY += -Math.cos(angle*Math.PI/180)*moveSpeed;
}
当对象开始移动时,我试图在其中实现摩擦。就像键按下时一样,速度开始加快,并且花了 n 秒才达到maxSpeed
。
我该怎么办?
答案 0 :(得分:1)
似乎不需要摩擦,而只需加速。这是由于恒定的电动机功率而产生的恒定加速度:
let XX = 0
let YY = 0
let moveSpeed = 0;
let Accel = 2;
let maxSpeed = 100;
if(keyDown.w) {
moveSpeed = Math.min(maxSpeed, moveSpeed + Accel);
XX += Math.sin(angle*Math.PI/180)*moveSpeed;
YY += -Math.cos(angle*Math.PI/180)*moveSpeed;
}