使用Pygame时程序运行后窗口立即关闭的问题排查
《Alien Invasion》窗口无法保持打开的问题修复
你的代码里存在3处关键错误,导致窗口无法正常运行:
- 方法调用未加括号:主程序中
ai.run_game没有调用方法(缺少()),导致run_game函数根本没执行,窗口一闪而过。需改为ai.run_game()。 - sys.exit未触发执行:处理关闭窗口事件时,
sys.exit是函数,必须加括号sys.exit()才能终止程序。 - 拼写错误与显示更新未执行:
pytgame.display.flip存在拼写错误(应为pygame),且flip是方法,需加括号pygame.display.flip()才能更新屏幕显示。
修正后的完整代码:
import sys import pygame from settings import Settings class AlienInvasion: def __init__(self): pygame.init() self.settings = Settings() self.screen = pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height)) pygame.display.set_caption("Alien Invasion") def run_game(self): while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() self.screen.fill(self.settings.bg_color) pygame.display.flip() if __name__ == '__main__': ai = AlienInvasion() ai.run_game()
内容的提问来源于stack exchange,提问作者Bluelight
相关产品推荐
相关产品推荐

