[英]TypeError: pygame.Surface object not callable
我在更长的python3程序的末尾运行了这段代码:
pygame.init()
size = width, height = 1920, 1080
black = 0, 0, 0
screen = pygame.display.set_mode(size)
scoreboard = pygame.image.load("scorebug.png")
scoreboardrect = scoreboard.get_rect()
screen.fill(black)
screen.bilt(scoreboard, scoreboardrect)
pygame.display.flip()
运行此命令时,出现错误消息pygame.surface对象不可调用。 有什么建议么?
我不完全确定这里发生了什么(由于缺少有关错误的更多信息),但是我有一些猜测。 另外,我会猜测您上面编写的代码不是完整的代码,因为您没有导入pygame。 因此,如果您运行上述代码,则可能会收到此错误(我认为)的原因是因为blit()的使用不正确。 记住,blit()的用法如下:
window.blit(Surface, (x, y))
(x,y)也称为dest,如果我错了,请更正。 但是,您给它提供了一个具有4个索引的元组,它是这样的:
(0, 0, scoreboardrect.get_size()[0], scoreboardrect.get_size()[1]
您可以解决此问题,而不是这样做
scoreboardrect = scoreboard.get_rect()
只是简单地在(0,0)
screen.blit(scoreboard, (0, 0))
但是,这可能不是正确的答案,因为您没有包括所有代码(while循环在哪里?while循环包含代码吗?如果是的话,为什么在那儿初始化pygame?尝试包括更多代码。)也许我的解决方案不正确。 告诉我,这行得通。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.