我注意到一段简单的代码有一些非常奇怪的行为,我已经将其剥离以删除任何变量、时间步长、加速度等。
我在屏幕上有一个形状,按屏幕左侧将形状向右推,按右侧向左推。由于某种原因,该形状倾向于向左移动 ( 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;