我正在学习创建一个简单的Pygame窗口来显示一个矩形。我在Youtube上看了两个不同的视频。其中一个Youtuber使用Pygame.draw.rect()创建矩形,而另一个Youtuber使用pygame.Rect()和Pygame.draw.rect()。两者在最后都得到了相同的结果。那么这两个代码之间有什么区别呢?
发布于 2021-09-15 12:53:59
pygame.Rect
创建一个要传递到pygame.draw.rect
中的Rect
实例。考虑下面这段简短的代码片段:
对于正在阅读本文的其他人,请首先在您的集成开发环境终端或缺省操作系统终端中运行pip install pygame
来安装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
是矩形将位于垂直axisy
上的位置是矩形将位于水平axiswidth
上的位置是rectangleheight
的宽度是矩形的高度
这就是您使用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
函数,而不必重复元组。
希望这能有所帮助!
https://stackoverflow.com/questions/66728826
复制相似问题