在使用关闭主程序退出的时候, 我不小心把pygame.QUIT 写出了pygame.quit(), 导致程序报错: pygame.error: video system not initialized. 我想知道 pygame.QUIT和pygame.quit() 的区别是什么? 谢谢!
# 导入pygame 模块
import pygame
SCREEN_WIDTH = 700
SCREEN_HEIGHT = 400
BG_COLOR = pygame.Color(0,0,255)
class MainGame:
window = None
def __init__(self):
pass
# 开始游戏
def startGame(self):
# 加载主窗口
# PyGame的官方网站 www.pygame.org
pygame.display.init()
# 设置窗口的大小和显示
MainGame.window = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT])
# 设置窗口的标题
pygame.display.set_caption("坦克大战1.03")
while True:
# 给窗口设置填充色
MainGame.window.fill(BG_COLOR)
self.getEvent()
pygame.display.update()
# 结束游戏
def endGame(self):
print("程序关闭, 欢迎再次使用!")
exit()
# 获取事件
def getEvent(self):
# 获取所有事件
eventList = pygame.event.get()
for event in eventList:
# 判断按下的键是关闭还是键盘按下
# 如果按的是退出,关闭窗口
if event.type == pygame.quit():
self.endGame()
class Tank:
def __init__(self):
pass
# 移动
def move(self):
pass
# 射击
def shot(self):
pass
# 展示坦克的方法
def displayTank(self):
pass
# 我方坦克, 类的继承
class MyTank(Tank):
def __init__(self):
pass
# 敌方坦克, 类的继承
class EnemyTank(Tank):
def __init__(self):
pass
class Bullets:
def __init__(self):
pass
# 子弹移动
def BulletsMmove(self):
pass
# 子弹展示的方法
def BulletsDisplay(self):
pass
class Wall:
def __init__(self):
pass
def displayWall(self):
pass
class Explode:
def __init__(self):
pass
# 展示爆炸的方法
def displayExplode(self):
pass
class Music:
def __init__(self):
pass
# 播放音乐的方法
def PlayMusic(self):
pass
if __name__ == '__main__':
MainGame().startGame()
通过在网络上找答案发现问题在这里:

if event.type == pygame.QUIT: # 不能写成 if event.type == pygame.quit():
# 导入pygame 模块
import pygame
SCREEN_WIDTH = 700
SCREEN_HEIGHT = 400
BG_COLOR = pygame.Color(0,0,255)
class MainGame:
window = None
def __init__(self):
pass
# 开始游戏
def startGame(self):
# 加载主窗口
# PyGame的官方网站 www.pygame.org
pygame.display.init()
# 设置窗口的大小和显示
MainGame.window = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT])
# 设置窗口的标题
pygame.display.set_caption("坦克大战1.03")
while True:
# 给窗口设置填充色
MainGame.window.fill(BG_COLOR)
self.getEvent()
pygame.display.update()
# 结束游戏
def endGame(self):
print("程序关闭, 欢迎再次使用!")
exit()
# 获取事件
def getEvent(self):
# 获取所有事件
eventList = pygame.event.get()
for event in eventList:
# 判断按下的键是关闭还是键盘按下
# 如果按的是退出,关闭窗口
if event.type == pygame.QUIT: # 不能写成 if event.type == pygame.quit():
self.endGame()