我的遊戲有問題。遊戲運行正常,直到我必須重新定位每個幀發生的對象時爲止。例如,在這裏,我必須重新放置一些停放的汽車(道路兩側各有6輛汽車),汽車會不斷在屏幕上向下移動,然後重新設置並重新放置在頂部。我使用Poolable來節省資源。然而,當運行這些代碼行時,遊戲仍然非常激動。有什麼方法可以改進代碼以防止滯後?也許一個新的線程?如果是這樣的話,創建一個新線程並在每一幀更新它的正確方法如何。Libgdx for loop lag
private void updateParkedVehicles(float delta){
for (int i = 0; i < parkedCarLeft1Array.size; i++){
parkedCarLeft1Array.get(i).update(delta);
for (int c = 0; c < parkedCarLeft1Array.size; c++){
if (c != i){
if (Intersector.overlaps(parkedCarLeft1Array.get(i).bounds, parkedCarLeft1Array.get(c).bounds)){
parkedCarLeft1Array.get(i).reset();
}
}
}
}
for (int i = 0; i < parkedCarRight1Array.size; i++){
parkedCarRight1Array.get(i).update(delta);
for (int c = 0; c < parkedCarRight1Array.size; c++){
if (c != i){
if (Intersector.overlaps(parkedCarRight1Array.get(i).bounds, parkedCarRight1Array.get(c).bounds)){parkedCarRight1Array.get(i).reset();
}
}
}
}
}
感謝您的回覆。我會嘗試。我只想指出,更新似乎不會導致大部分問題。滯後似乎主要是由碰撞檢查部分引起的。這似乎是不可避免的。 –