如何获取动态圆的rect()

How to get the rect() of a dynamic circle

我试图在 draw 方法中获取圆的矩形,但是每次我在 Alien 实例上调用 get_rect() 方法时 Pygame 都会出错。我想要一个用于碰撞检测的动态圆表面,因为我的代码会生成不同随机大小的圆。请提供任何帮助,我们将不胜感激

class Alien():
    def __init__(self, etc):
        self.x = random.randrange(0,600)
        self.y and self.size are also random variables

def draw(self, screen, colour):
        pygame.draw.circle(screen, colour, (self.x, self.y), self.size)

我想从 draw 方法中获取这个圆的 rect,但它没有 rect 方法。我在网上查了一下,我看到你可以使用 pygame.surface 但我不知道如何使用它为我的圆圈生成一个表面,考虑到当我生成 20 个不同的外星人圆圈对象时,它们 w

所有 pygame.draw 模块的绘图函数 return 一个矩形表示改变像素的边界区域。

更新您的 draw() 方法

def draw(self, screen, colour):
    return pygame.draw.circle(screen, colour, (self.x, self.y), self.size)

return一个pygame.Rect对象,你可以使用它,例如用于碰撞检测。