我之所以说“减速”,是因为我目前不使用加速;我的意思是将速度移回零,最终停止。
我是向量的新手,但对物理学等却不太了解。通常如何处理“减速”?
我现在所拥有的有效,但似乎有些破旧。
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是因为任何较低的东西都表现出奇怪的行为,我想如果我提高速度,那就需要更改它。
如果您正在寻找与加速度无关的术语,Flixel称其为“拖动”。
—
Gregory Avery-Weir 2010年
“减速”是负加速度。你有没有做微积分?
—
3Dave 2010年
实际上,“减速度”不是真实的东西,也不是“负加速度”。这都是常规的加速度,只是方向不同。
—
MichaelHouse
velocity.i += speed;
的语义细节也很少。speed
实际上是您的加速度,即速度变化的速度。:)