首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pygame.Rect()和pygame.draw.rect()有什么区别?

pygame.Rect()和pygame.draw.rect()有什么区别?
EN

Stack Overflow用户
提问于 2021-03-21 12:23:07
回答 2查看 177关注 0票数 0

我正在学习创建一个简单的Pygame窗口来显示一个矩形。我在Youtube上看了两个不同的视频。其中一个Youtuber使用Pygame.draw.rect()创建矩形,而另一个Youtuber使用pygame.Rect()和Pygame.draw.rect()。两者在最后都得到了相同的结果。那么这两个代码之间有什么区别呢?

EN

Stack Overflow用户

发布于 2021-09-15 12:53:59

pygame.Rect创建一个要传递到pygame.draw.rect中的Rect实例。考虑下面这段简短的代码片段:

对于正在阅读本文的其他人,请首先在您的集成开发环境终端或缺省操作系统终端中运行pip install pygame来安装pygame

代码语言:javascript
运行
复制
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是矩形将位于垂直axis
  • y上的位置是矩形将位于水平axis
  • width上的位置是rectangle
  • height的宽度是矩形

的高度

这就是您使用pygame.draw.rect本身的方式。在幕后,pygame将这个元组转换为一个pygame.Rect对象。因此,在使用pygame.Rect时,您只需要多做一点工作。例如:

代码语言:javascript
运行
复制
pygame_rect_object = pygame.Rect(30, 30, 100, 100)
pygame.draw.rect(SCREEN, 'white', pygame_rect_object)

正如您所看到的,创建pygame.Rect对象与传递元组是相同的。它的几个优点是可读性,您可以将其传递给多个pygame.draw.rect函数,而不必重复元组。

希望这能有所帮助!

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66728826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档