如何在游戏中实现物体运动的摩擦力
How can I implement friction to movement of a object in a game
下面是我用于移动对象的代码:
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
.
我该怎么做?
看来你需要的不是摩擦而是加速度。这是由于恒定电机功率而产生的恒定加速度:
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;
}
下面是我用于移动对象的代码:
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
.
我该怎么做?
看来你需要的不是摩擦而是加速度。这是由于恒定电机功率而产生的恒定加速度:
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;
}