我的游戏有问题。游戏运行正常,直到我必须重新定位每个帧发生的对象时为止。例如,在这里,我必须重新放置一些停放的汽车(道路两侧各有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();
}
}
}
}
}
感谢您的回复。我会尝试。我只想指出,更新似乎不会导致大部分问题。滞后似乎主要是由碰撞检查部分引起的。这似乎是不可避免的。 –