pygame窗口中的空白(黑色)屏幕

Posted

技术标签:

【中文标题】pygame窗口中的空白(黑色)屏幕【英文标题】:Blank(black) screen in pygame window 【发布时间】:2018-02-21 16:59:39 【问题描述】:

我正在运行以下代码:

import pygame

pygame.init()

img = pygame.image.load("Picture.jpg")

white = (255, 255, 255)

w = 900

h = 450

screen = pygame.display.set_mode((w, h))

screen.fill((white))


screen.fill((white))

screen.blit(img(0,0))

pygame.display.flip()

while True:

         for event in pygame.event.get():

                if event.type == pygame.QUIT:

                     pygame.quit()

当我运行代码时,pygame 窗口打开,但它是空白(黑色)屏幕。我还收到以下错误消息: Traceback(最近一次调用最后一次):

文件“C:/Users/Draco/OneDrive/Documents/Programming/graphics.py”,第 13 行,在 screen.blit(img(0,0)) TypeError: 'pygame.Surface' 对象不可调用

我尝试打开的图像保存为 JPG 文件。图像以图片名称保存。非常感谢您的帮助。

【问题讨论】:

你可能打算写screen.blit(img, (0,0))而不是screen.blit(img(0,0)) 【参考方案1】:

嗯,Christian Dean 已经回答过了。 pygame.blit() 的语法是:

pygame.Surface.blit(source, dest, area=None, special_flags = 0)

其中 source 是图像,dest 是要绘制 Surface(或 Rect)的位置的左上角坐标,area 是要绘制的 Surface 的一部分。

您犯的错误是您试图通过将 dest 视为函数来将其传递给图像。

你必须改写screen.blit(img, (0, 0))。我建议你在提问之前先在 pygame 网站上搜索语法。

【讨论】:

是的,这是一个错字。请将该问题标记为“简单的印刷错误”,而不是回答和解释他的错字。 抱歉,我没有这个选项。我可能还没有举报的特权。

以上是关于pygame窗口中的空白(黑色)屏幕的主要内容,如果未能解决你的问题,请参考以下文章

相机屏幕仅显示空白黑色图像

设置主题为经典后屏幕就变成黑色,如何恢复桌面

解决使用复制浏览器的屏幕截图出现黑色窗口的问题

pygame入门小游戏(外星人入侵:为窗口设计背景颜色以及背景图片)

Nougat、Oreo 和 Pie 上的空白/黑色应用程序启动器图标

Python pygame窗口不断崩溃