2013-03-18 49 views
1

儘管我明白繪製函數的目的是繪製到某個表面,但我不明白爲什麼它不會簡單地返回一個pygame.Surface對象,您可以稍後在需要時將其粘貼到表面上。到目前爲止,當我只想創建曲面並在稍後將其繪製到其他位置時,這非常不方便。爲什麼pygame.draw.shape返回一個Rect?

有什麼辦法可以獲得類似的功能來返回一個表面對象,而不是去那個額外的步驟,直接繪製到另一個表面?

+5

爲什麼沒有按」它總是創造一個表面?因爲如果你不需要它,創建一個新的表面是很慢的。 您可以編寫一個函數來創建一個新曲面,調用draw並一次返回。 – ninMonkey 2013-03-18 01:49:57

回答

1

要製作具有所需形狀的表面,而不是繪製到原始表面,可以繪製到另一個表面,然後再將其粘貼到原始表面。至於繪圖函數爲什麼會返回一個矩形,它僅用於更新需要更新的屏幕部分,以便稍後優化代碼。你這樣做的方式是你想畫的東西在屏幕上每一次,你追加它返回到列表中的正確,而且當你去更新屏幕上,你做它像這樣:

pygame.display.update(rect_list) 
相關問題