【发布时间】:2013-03-20 16:52:41
【问题描述】:
我注意到一段简单的代码有一些非常奇怪的行为,我已将其剥离以删除任何变量、时间步长、加速度等。
我在屏幕上有一个形状,按屏幕左侧将形状向右推,按右侧向左推。由于某种原因,该形状倾向于向左移动 (speed < 0)。似乎是向右移动时正确减速,但向左移动时它完成减速然后在停止前持续大约 0.3 秒。
float speed;
int x;
形状的更新方法:
speed *= 0.9f;
if (Math.abs(speed) < 0.1f)
speed = 0;
if (Gdx.input.isTouched()) {
if (Gdx.input.getX() < Gdx.graphics.getWidth() / 2) {
speed = 10;
} else {
speed = -10;
}
}
x += speed;
【问题讨论】:
-
我注意到您的第一个 if 语句没有大括号。这样做是有原因的吗?
标签: java math libgdx game-physics