gpt4 book ai didi

python - 使用关键字参数时创建 pygame.Rect 失败

转载 作者:行者123 更新时间:2023-12-04 15:36:14 27 4
gpt4 key购买 nike

我有一个工作程序,但如果我更改我的 pygame.Rect() 构造函数/函数,我的程序就会崩溃。

如果你看下面的代码,那么

button_rect1 = pygame.Rect(450, 300, 100, 100)

工作正常。但是如果我把它改成

button_rect2 = pygame.Rect(left = 450, top = 300, width = 100, height = 100)

然后我得到错误:

Traceback (most recent call last):
File "F:\_python_projects\workshift_logger\component_testing.py", line 31, in <module>
button_rect = pygame.Rect(left = 450, top = 300, width = 100, height = 100)
TypeError: Argument must be rect style object
[Finished in 0.7s with exit code 1]

我唯一改变的是给参数添加名称。为什么我不能这样做,我怎样才能更改我的代码以便我可以命名我的参数(为了清楚起见,我想命名它们 - 在某些 API 的矩形中是(x,y,宽度,高度),在其他情况下它们是(x1, y1, x2, y2)):

这是一个最小的独立示例:

##### Imports ######
import pygame


##### Settings #####
window_width = 1000
window_height = 600


##### Program #####
pygame.init()
window = pygame.display.set_mode((window_width, window_height))

button_rect1 = pygame.Rect(450, 300, 100, 100) # This works
button_rect2 = pygame.Rect(left = 450, top = 300, width = 100, height = 100) # This doesn't work

最佳答案

关键字参数支持,至少,根据官方 documentation 在 2.0.0 中添加了一些关键字参数.

Changed in pygame 2.0.0: Added support for keyword arguments.

因此 Pygame 确实支持关键字参数(如果版本 >= 2.0.0).. 至少对于某些人来说。

根据文档 here ,您可以使用三种方法实例化一个 Rect:

Rect(left, top, width, height) -> Rect
Rect((left, top), (width, height)) -> Rect
Rect(object) -> Rect

可能仍然不支持 pygame.rect,即使在关键字参数方面支持 pygame.draw.rect ...。可能是你的版本低于2.0.0

不确定我是否能够回答这个问题。

关于python - 使用关键字参数时创建 pygame.Rect 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59671686/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com