0

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

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 方法。我在网上查了一下,我看到你可以使用 pygame.surface 但我不知道如何使用它来为我的圆圈生成一个表面,考虑到当我生成 20 个不同的外星人圆圈对象时,它们会

4

1 回答 1

0

pygame.draw模块的所有绘图函数都返回一个矩形,表示已更改像素的边界区域。

更新你的draw()方法

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

返回一个pygame.Rect您可以使用的对象,例如用于碰撞检测。

于 2015-05-26T06:42:46.737 回答