我有几个不同的类扩展了pygame Sprite类,最初我只是使用外部图像制作一个pygame Surface对象,并将该图像绘制到我的屏幕上。我有大量的这些精灵,所以我在RenderClear组中包含它们,然后为了简单起见,清除并绘制组。这是有效的,直到我决定使用pygame绘制我自己的图形。
而不是外部图像,我创建一个图像Surface,并在其上画一个圆圈,如下所示:
pygame.draw.circle(self.image, self.color,
(int(self.x), int(self.y)), self.radius, 0)
但是,当我将其绘制到屏幕时,圆圈不会出现。没有任何东西出现,它只是一个透明的表面。
我还测试了使用相同参数直接在屏幕上绘制一个圆圈,这样可行,但如果我绘制精灵的图像,则没有。有什么想法吗?
答案 0 :(得分:1)
您需要在类中创建更新方法,然后将圆和内容绘制到方法内的窗口表面。然后,每次绘制RenderClear组时,调用RenderClear.update(),它将绘制您想要的所有其他内容。