Как я могу реализовать трение для движения объекта в игре - PullRequest
0 голосов
/ 31 августа 2018

ниже - код, который я использую для перемещения объекта:

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.
Как я могу это сделать?

1 Ответ

0 голосов
/ 31 августа 2018

Кажется, вам нужно не трение, а ускорение. Вот постоянное ускорение из-за постоянной мощности двигателя:

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;
}
...