2012-12-05 138 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(),它會繪製您想要的其他所有內容。