当blitting背景时PyGame延迟

2024-04-19 09:17:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力减少我比赛中的滞后,因为这是无法忍受的。我知道当blitting大图像时,我应该期待一些延迟,但我看不到任何方法来减少它。我这里有代码:https://gist.github.com/Mrmeguyme/ce1a844af21695d1b853ef88fe8de5aa

背景是1280x720px,地面是1280x100px,我的角色是50x50px。在


Tags: 方法代码https图像githubcom角色背景
2条回答

你的图像可能有每像素的透明度。将它们转换为不透明。在

faster_surface = surface_loaded_directly_from_png.convert()

当然,这不适用于角色,但对于背景来说,它会使事情有所改善。在

编辑:我也注意到你没有打电话时钟滴答声()任何地方。这应该可以使事情变得平顺,并消除那些实际上只是CPU自然地加速和减速的慢操作。在

http://www.pygame.org/docs/ref/surface.html#pygame.Surface.convert_alpha

这是我为我所有的程序所做的:

def loadify(img):
    return pygame.image.load(img).convert_alpha()

我只是替换pygame.image.load用loadify保存输入。这会将图像转换为正确的像素格式,以便更快更容易地进行blitting。在

相关问题 更多 >