讓我們假設我想用一個簡單的對象在屏幕上製作一個安卓遊戲。該對象以x = 0開始,並在x =屏幕右側結束。如何在設定的時間內將遊戲對象從一側移動到屏幕的另一側?
讓我們也假設我們生活在一個完美的世界,每個設備的運行速度恰好爲30 FPS。我當然可以使用下面的代碼片段從點「0」到「屏幕的右側」,但由於存在碎片,它絕對會在每個設備上花費可變的時間量。
while(x < rightSideOfScreen)
x++;
唯一的座標系我所知道的是android.graphics.Point,這正是我目前使用我的比賽。
- 有沒有更好的方法來管理2D遊戲座標?
- 如何讓簡單的遊戲對象在所有設備上的相同時間內從點「0」到達「屏幕右側」?
您需要記住起始點的時間戳,然後在每個'onDraw'中根據當前時間和視圖寬度計算x座標。例如,在我的設備上,每12-20毫秒就會調用一次onDraw,而且與60fps相關,而不是30 –