Python 为什么是;获取“rect()”;不为名单工作?

Python 为什么是;获取“rect()”;不为名单工作?,python,python-3.x,pygame,Python,Python 3.x,Pygame,我正在为我的精灵制作一个碰撞对话框,但当我尝试使用get\u rect时,会发生以下错误: AttributeError: 'list' object has no attribute 'get_rect' 有人知道如何对图像列表执行此操作吗 scarn_up = [pygame.image.load('Michael Scarn Up 1.png'), pygame.image.load('Michael Scarn Up 2.png')] scarn_up_rect = scarn_up.

我正在为我的精灵制作一个碰撞对话框,但当我尝试使用
get\u rect
时,会发生以下错误:

AttributeError: 'list' object has no attribute 'get_rect'
有人知道如何对图像列表执行此操作吗

scarn_up = [pygame.image.load('Michael Scarn Up 1.png'), pygame.image.load('Michael Scarn Up 2.png')]
scarn_up_rect = scarn_up.get_rect(topleft=(340, 150))

列表没有
get\u rect
方法。您希望在列表中存储的
pygame.Surface
对象上执行此操作。您可能希望为其中的每一个执行此操作,并将其结果存储在另一个列表中:

scarn_up = [pygame.image.load('Michael Scarn Up 1.png'), pygame.image.load('Michael Scarn Up 2.png')]
scarn_up_rect = [x.get_rect(topleft=(340, 150)) for x in scarn_up]

因为列表没有这种方法。不知道你在这里期待什么。也许你想对你列表中的所有对象调用这个方法?比如说在scarn\u up中s的
[s(topleft=(340150))
juanpa.arrivillaga是的,这就是我的意思:
scarn\u up\u rect=[x.get\u rect(topleft=(340150))在scarn\u up中x的意思。
?非常感谢瓦伦蒂诺!我认为它可能已经起作用了,或者单独获得了
rect
scarn\u-up[0]。获得了rect(topleft=(340150))
,显然对于
scarn\u-up[1]