python - Pygame blit 区域参数?

标签 python pygame partial area blit

我目前正在尝试再次对已绘制图像的一部分进行 blit。为此,我读到一个可以在使用 blit 时使用可选的第三个区域参数。我不知道为什么,但这个参数对我来说很奇怪。

据我了解,区域参数是(pos_x、pos_y、宽度、高度)。

我的屏幕是 1280x1024,所以如果我想让我想重绘的部分从中心开始,我会传递类似 (640, 512, 200, 200) 的内容,图像的 200x200 部分应该从中心。

然而,对我来说,图像总是绘制在左上角,区域参数中的前两个数字会改变绘制部分的亮度。

我的代码:

image = pygame.image.load("image.jpg")
image = pygame.transform.scale(image, (self.display.get_width(), self.display.get_height()))
self.display.blit(image, (0,0))
# Drawing something here which has to be overwritten, but cannot redraw everything.
self.display.blit(image, (0,0), (640,512,200,200))

第二个 blit 只是在我的屏幕左上角绘制了一个 200x200 的图像,这比第一次绘制的图像更亮。

亲切的问候

最佳答案

您将 (0, 0) 作为 blit 目标(第二个参数)传递,因此您的表面出现在显示屏的左上角。如果你想在别处绘制它,例如在 (200, 300) 处,你必须将这些坐标作为第二个参数传递:

self.display.blit(image, (200, 300), (640,512,200,200))

关于python - Pygame blit 区域参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47926159/

相关文章:

python - 添加requirements.txt [Python]时数据流失败

python - 使用 try 语句从嵌套 for 循环写入文件

ruby-on-rails-3 - 除了某个 Action 之外,如何对所有内容进行局部渲染

python - 在函数 Pygame 之外运行时字体未初始化错误

python - 让一个形状在 Pygame 中消失然后重新出现

python - 文件的部分下载(仅更改了内容)

c# - 如何从DLL中恢复分部类的信息?

python - Heroku 未能满足安装 pip 要求

python - 如何使用函数和 sqlalchemy 连接到数据库

python - 为什么我在提供时缺少必需的位置参数?