2011-07-03 54 views
1

我創建了一個480x320的小型簡單世界。 我剛剛實現了平滑滾動,但我一直注意到的一個問題是,它幾次結結巴巴。 我想我知道它爲什麼會口吃,但沒有意識到如何解決我的問題。 我沒有在滾動計算中使用增量時間,因爲它只會讓我更加困惑。 增量值應該如何使用? 我通常會得到一個像我的delta時間一樣的值。 我也將FPS限制設置爲30FPS(準確的說是33),並且在我的所有測試中,幀頻從未低於30。 我的滾動解決方案是通過TILE_SIZE(32)增加xPos值,並將camera.x值與xPos進行比較,並將camera.x增加或減少一定量(4)。 現在我不確定在這個例子中如何使用delta。 我試過了: SPEED * deltaTime =絕對不對; SPEED *(1 + deltaTime)=不正確; SPEED +/- deltaTime =更口吃;Android操作系統口吃滾動

我是否正確思考不使用德爾塔時間會導致口吃,如果有的話可以有人幫助我嗎? 或者這完全是另一回事?

+0

我假設你所有的計算都是浮動或雙右? – mibollma

+0

正確。實際上只是漂浮 – semajhan

+0

所以你的DELTA時間應該平均約0.03f假設33FPS。如果我們假設您的遊戲每秒滾動單位(10),我們將使用POSITION = POSITION + UNIT * DELTA來計算當前位置......這有幫助嗎?我不完全理解你的情況下xPos和camera.x是什麼。 – mibollma

回答

0

您應該使用固定的時間步驟方法,以確保更一致的結果。

如果您還沒有看過現在比較有名的「Fix your Timestep!」文章,我會建議你這樣做。

乾杯!