4

我有几个不同的类扩展了 pygame Sprite 类,最初我只是使用外部图像制作一个 pygame Surface 对象,然后将该图像绘制到我的屏幕上。我有大量的这些精灵,所以我将它们包含在一个 RenderClear 组中,然后为了简单起见清除并绘制该组。这很有效,直到我决定使用 pygame 绘制自己的图形。

我制作了一个图像 Surface,而不是外部图像,并在其上画了一个圆圈,如下所示:

pygame.draw.circle(self.image, self.color,
                       (int(self.x), int(self.y)), self.radius, 0)

但是,当我将圆圈绘制到屏幕上时,它不会出现。什么都没有出现,它只是一个透明的表面。

我还测试了用相同的参数直接在屏幕上画一个圆,这很有效,但是如果我画精灵的图像,什么都没有。有任何想法吗?

4

1 回答 1

1

您需要在类中创建一个更新方法,然后在方法内将圆圈和东西绘制到窗口表面。然后,每次绘制 RenderClear 组时,调用 RenderClear.update() 它将绘制您想要的所有其他内容。

于 2012-12-06T15:14:47.763 回答