2012-12-05 86 views
4

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

取而代之的是外界像的,我做了图像表面,并绘制一个圆上它像这样:

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

然而,当我把它画到屏幕上的圆圈不会出现。没有出现,它只是一个透明的表面。

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

+2

你能显示该类的所有代码吗?在绘制之前是否创建Surface并将其指定给self.image? – pmoleri

回答

1

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