我正在编写一个带有可破坏方块的游戏,地图上有近 100k 个方块。它们都是精灵,存储在精灵表中,并由该表绘制
self.blocks_list.draw(pixelated=True)
如果你制作较小的地图(大约20k块),FPS就正常了。如何对此进行优化?保持他们的碰撞非常重要,这样屏幕后面的 NPC 就不会从方块中掉下来。
附:我用它self.blocks_list.use_spatial_hashing=True来优化碰撞。
我补充一下:这是加载块的代码
class Block(arcade.Sprite):
def __init__(self, x, y, id):
super().__init__(f"resources/sprites/blocks/block.png")
self.center_x = x
self.center_y = y
self.id = id