Python 为什么pygame.draw.shape返回矩形?

Python 为什么pygame.draw.shape返回矩形?,python,pygame,rect,geometry-surface,Python,Pygame,Rect,Geometry Surface,虽然我知道draw函数的目的是绘制到某个曲面,但我不明白为什么它不简单地返回pygame.surface对象,您可以在以后需要时将其blit到曲面。到目前为止,当我只想创建一个曲面并稍后将其绘制到其他对象时,这非常不方便 有没有什么方法可以让您获得类似的函数来返回曲面对象,而不是执行额外的步骤并直接绘制到另一个曲面?要生成具有所需形状的曲面,而不是绘制到原始曲面,您可以绘制到另一个曲面,然后再将其绘制到原始曲面 至于为什么draw函数返回rect,它只是通过更新屏幕上需要更新的部分来优化代码。这

虽然我知道draw函数的目的是绘制到某个曲面,但我不明白为什么它不简单地返回pygame.surface对象,您可以在以后需要时将其blit到曲面。到目前为止,当我只想创建一个曲面并稍后将其绘制到其他对象时,这非常不方便


有没有什么方法可以让您获得类似的函数来返回曲面对象,而不是执行额外的步骤并直接绘制到另一个曲面?

要生成具有所需形状的曲面,而不是绘制到原始曲面,您可以绘制到另一个曲面,然后再将其绘制到原始曲面

至于为什么draw函数返回rect,它只是通过更新屏幕上需要更新的部分来优化代码。这样做的方式是,每当您想在屏幕上绘制某个内容时,将其返回的rect追加到列表中,当您要更新屏幕时,您可以这样做:

pygame.display.update(rect_list)

要创建具有所需形状的曲面,请绘制到另一个曲面,而不是绘制到原始曲面,然后可以将其blit到原始曲面

至于为什么draw函数返回rect,它只是通过更新屏幕上需要更新的部分来优化代码。这样做的方式是,每当您想在屏幕上绘制某个内容时,将其返回的rect追加到列表中,当您要更新屏幕时,您可以这样做:

pygame.display.update(rect_list)

为什么它不一直创建曲面?因为如果你不需要的话,创建一个新的曲面是很慢的。你可以编写一个函数来创建一个新的曲面,调用draw,然后一次性返回它。为什么它不一直创建一个曲面呢?因为如果你不需要的话,创建一个新的曲面是很慢的。您可以编写一个函数来创建新曲面、调用draw并一次性返回它。