防止图像被清除[PYGAME- Python]

时间:2017-03-12 16:47:21

标签: python pygame

每次清除屏幕时重绘每张图像都非常痛苦。

with open("test.html", "w") as f:
    for port in ports:
        f.write("{}\n".format(port))

在上面的代码中,我在M变量中加载背景图像,每次清除屏幕以更新精灵的位置时,我还必须重绘背景图像,导致严重的FPS掉落。

无论如何,每当我使用T.fill((0,0,0))时,我都可以阻止背景图像被清除?

1 个答案:

答案 0 :(得分:1)

首先,尝试convert背景图片。通常应使用convertconvert_alpha转换图片以提高效果。

M = pygame.image.load("test.jpg").convert()

其次,如果背景图像具有屏幕大小,则可以省略行T.fill((0,0,0)),因为无论如何背景都会填满屏幕。

第三,如果背景不滚动而您只需要每帧更新屏幕的某些部分,则可以尝试使用pygame.display.update()而不是pygame.display.flip()。将单个矩形或一系列rects传递给pygame.display.update,告诉它应该更新屏幕的哪些部分。

我不确定这些措施能否大幅提升表现。 Pygame相当慢,因为它仍然依赖于软件渲染。

旁注,使用描述性变量名而不是T,M等。