外星人入侵创建窗口出现pygame.error: video system not initialized的解决
如下代码
import sys
import pygame
class AlienInvasion:
def _init_(self):
pygame.init()
self.screen = pygame.display.set_mode((1200, 800))
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()
pygame.display.flip()
if __name__ == '__main__':
ai = AlienInvasion()
ai.run_game()
如图所示,按照书本代码编写并运行,发现出现pygame.error: video system not initialized
原因:类AlienInvasion中的__init__函数未被调用,窗口未初始化。 解决方案: if __name__ == '__main__': ai = AlienInvasion() ai._init_() ai.run_game() 插入ai.init()函数初始化。再次运行可观察到空窗口。
|