我见过的所有基本的Pygame示例都只是在所有内容上重新绘制背景,然后在其上绘制精灵。这将在以后导致性能问题(因为您要为每个帧速刻度添加至少2个新图像到窗口中,而无需删除它们)。 有更好的方法吗?
答案 0 :(得分:1)
如果更新整个屏幕的速度足够快,这已经是“最佳”方法,因为这是最简单的方法。
如果在屏幕上绘制是性能瓶颈,那么最好只更新屏幕上已更改的部分。您可能要使用pygame的DirtySprite
和LayeredDirty
类。 LayeredDirty的draw
函数返回一个Rect
实例的列表,这些实例描述了需要更新的屏幕部分,您可以将该列表传递给pygame.display.update
。