在pygame中绘制到精灵的表面

时间:2012-12-05 23:17:41

标签: python pygame

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

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

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

但是,当我将其绘制到屏幕时,圆圈不会出现。没有任何东西出现,它只是一个透明的表面。

我还测试了使用相同参数直接在屏幕上绘制一个圆圈,这样可行,但如果我绘制精灵的图像,则没有。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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