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入门小游戏(外星人入侵:为窗口设计背景颜色以及背景图片)