我发现Pygame,并坚持一些有问题的行为,我不能弄清楚。
我尝试用下面的代码刷新窗口中心的一个80 px的正方形,但是整行都变成蓝色,而不是预期的正方形。这是正常的行为吗?有人能帮我理解为什么会发生这种情况吗?
- 使用pygame 2.1.3 / Python 3.11.1 / macOS 13.1操作系统 *
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 400))
screen.fill((255,0,0))
pygame.display.update(((160,160,80,80)))
1条答案
按热度按时间wd2eg0qa1#
pygame.display.update()
的文档没有明确说明这一点,但是矩形并不是要限制屏幕更新到该区域,而是至少要以最有效的方式更新该区域。哪种方法最有效可能取决于系统。请注意,窗口是按行组织的,因此更新一组完整的连续行可能比单独更新许多行部分更有效。使用
pygame.Surface.set_clip()
将可修改曲面限制为特定区域: