2013-03-18 106 views
1

尽管我明白绘制函数的目的是绘制到某个表面,但我不明白为什么它不会简单地返回一个pygame.Surface对象,您可以稍后在需要时将其粘贴到表面上。到目前为止,当我只想创建曲面并在稍后将其绘制到其他位置时,这非常不方便。为什么pygame.draw.shape返回一个Rect?

有什么办法可以获得类似的功能来返回一个表面对象,而不是去那个额外的步骤,直接绘制到另一个表面?

+5

为什么没有按”它总是创造一个表面?因为如果你不需要它,创建一个新的表面是很慢的。 您可以编写一个函数来创建一个新曲面,调用draw并一次返回。 – ninMonkey 2013-03-18 01:49:57

回答

1

要制作具有所需形状的表面,而不是绘制到原始表面,可以绘制到另一个表面,然后再将其粘贴到原始表面。至于绘图函数为什么会返回一个矩形,它仅用于更新需要更新的屏幕部分,以便稍后优化代码。你这样做的方式是你想画的东西在屏幕上每一次,你追加它返回到列表中的正确,而且当你去更新屏幕上,你做它像这样:

pygame.display.update(rect_list) 
相关问题