我正在学习创建一个显示矩形的简单 Pygame 窗口。我在 Youtube 上观看了两个不同的视频。其中一位 Youtuber 使用 Pygame.draw.rect() 创建一个矩形,而其他 Youtuber 同时使用 pygame.Rect() 和 Pygame.draw.rect()。最后两者都给出了相同的结果。那么这两个代码有什么区别呢??
问问题
315 次
2 回答
3
于 2021-03-21T04:28:56.860 回答
0
pygame.Rect
创建一个Rect
要传递给pygame.draw.rect
. 考虑这个简短的片段:
对于正在阅读本文的其他人,首先通过在 IDE 的终端或默认操作系统的终端中pygame
运行来安装。pip install pygame
import pygame
SCREEN = pygame.display.set_mode((300, 300))
while True:
pygame.draw.rect(SCREEN, 'white', (30, 30, 100, 100))
pygame.display.update()
我们传入的元组pygame.draw.rect
包括(x, y, width, height)
:
x
是我们的矩形将位于垂直轴上的位置y
是我们的矩形将位于水平轴上的位置width
是我们矩形的宽度height
是我们矩形的高度
这就是您自己使用pygame.draw.rect
的方式。在幕后,pygame
将这个元组转换为一个pygame.Rect
对象。因此,您在使用pygame.Rect
. 例如:
pygame_rect_object = pygame.Rect(30, 30, 100, 100)
pygame.draw.rect(SCREEN, 'white', pygame_rect_object)
如您所见,创建pygame.Rect
对象与传递元组相同。一些优点是可读性,您可以将其传递给多个pygame.draw.rect
函数而无需重复元组。
希望这有帮助!
于 2021-09-15T12:53:59.243 回答