ฉันพูดว่า "การชะลอตัว" เพราะฉันไม่ได้ใช้การเร่งความเร็วในขณะนี้ สิ่งที่ฉันหมายถึงคือการย้ายความเร็วกลับไปที่ศูนย์ในที่สุดก็หยุด
ฉันยังใหม่กับเวกเตอร์และไม่ค่อยมีเรื่องเกี่ยวกับฟิสิกส์และเช่นนั้น ปกติจะมีการจัดการ "การชะลอตัว" อย่างไร
ตอนนี้สิ่งที่ฉันได้ผล แต่ดูเหมือนว่าแฮ็ค
update:function(Game, t, dt) {
var speed = Game.Input.isKeyDown('shift') ? 8 : 4;
if (Game.Input.isKeyDown('a')) {
this.velocity.i -= speed;
}
else if (Game.Input.isKeyDown('d')) {
this.velocity.i += speed;
}
else {
if (Math.abs(this.velocity.i) > 3) {
this.velocity.i += (this.velocity.i > 0) ? -speed : speed;
}
else {
this.velocity.i = 0;
}
}
if (Game.Input.isKeyDown('w')) {
this.velocity.j -= speed;
}
else if (Game.Input.isKeyDown('s')) {
this.velocity.j += speed;
}
else {
if (Math.abs(this.velocity.j) > 3) {
this.velocity.j += (this.velocity.j > 0) ? -speed : speed;
}
else {
this.velocity.j = 0;
}
}
this.updateVectors(dt);
}
ฉันใช้ 3 เพราะอะไรก็ตามที่มีการจัดแสดงที่ต่ำกว่าพฤติกรรมแปลก ๆ ฉันเดาว่าถ้าฉันเพิ่มความเร็วแล้วมันจะต้องเปลี่ยน
velocity.i += speed;
speed