Pygame窗口随while run循环立即关闭问题求助
问题解决:Pygame窗口立即关闭的原因
你的代码里存在一个关键语法错误,导致main()函数从未被执行,这就是窗口立即关闭的核心原因:
把代码末尾的判断语句:
if __name__ == "__name__": main()
修改为:
if __name__ == "__main__": main()
修正后的完整代码:
import pygame WIDTH, HEIGHT = 900, 500 WIN = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("First game") BACKGROUND = (255, 255, 255) def main(): run = True while run: for event in pygame.event.get(): if event.type == pygame.QUIT: run = False WIN.fill(BACKGROUND) pygame.display.update() pygame.quit() if __name__ == "__main__": main()
原因说明:
__name__是Python的内置变量,当脚本直接作为主程序运行时,它的值会被设为"__main__";如果脚本被作为模块导入到其他文件中,__name__的值则是模块名。你之前的判断条件永远不会成立,因此main()函数没有被调用,程序直接执行到pygame.quit(),导致窗口刚创建就被关闭。
内容的提问来源于stack exchange,提问作者RSMP
相关产品推荐
相关产品推荐

