screen.blit(播放器,(xpos,ypos))和pygame中的display.flip()有什么区别?

时间:2017-11-16 17:17:22

标签: python pygame display flip blit

两者似乎都会更新整个屏幕或仅更新屏幕的某个部分,但它会做什么以及如何做?

1 个答案:

答案 0 :(得分:2)

blit()没有更新屏幕 - 它在缓冲区中绘制图像。

update()/flip()将缓冲区发送到显卡上显示的视频卡。

如果您的代码包含blit()但没有update()/flip(),则不会显示任何内容。

flip()将所有缓冲区发送到视频卡。可能它可以使用优化的方法来快速完成。

update()可以使用Rect()获取列表,并且只发送部分缓冲区,因此速度更快。但是你必须知道你需要替换哪些部件。有时很难正确选择要更新的区域。

请参阅doc:update()flip()

enter image description here