私のゲームには問題があります。ゲームは、すべてのフレームで発生するオブジェクトの位置を変更する必要がある時間まで、正常に実行されます。たとえばここでは、駐車している車(道路の両側に約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();
}
}
}
}
}
返信いただきありがとうございます。私はそれを試みます。私はちょうど更新が問題のほとんどを引き起こしているようではないことを指摘したいと思った。遅れは、主に衝突チェック部に起因すると思われる。それは避けられないように思われる。 –