0
我注意到有一段簡單的代碼一些非常奇怪的行爲,我已經剝離下來,以消除任何變量,時間步長,加速度等推力運動,很奇怪的行爲
我在屏幕上有一個形狀,按下屏幕的左側將形狀向右推,按右側向左推。由於某種原因,形狀偏向左移(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語句沒有大括號。這是因爲什麼原因? – DrinkJavaCodeJava 2013-03-20 16:54:56