即使我初始化它,我也没有初始化错误视频系统。当我这样做而不创建类时,我没有得到错误。有人可以向我解释一下。
见下面的代码:
from pygame import *
import pygame
class App:
def __init__(self):
self.exitgame = False
self.surface = (640, 500)
pygame.init()
def setup(self):
display.set_mode(self.surface)
display.update()
def exitapp(self):
if self.exitgame:
quit()
if __name__ == "__main__":
game = App()
game.setup()
switch = {QUIT: quit()}
while not game.exitgame:
for event in event.get():
switch.get(event.type)
答案 0 :(得分:1)
提示:使用 CTRL + K 正确格式化代码
首先,屏幕没有正确存储,使其成为一个属性,它会在以后帮助你。
其次,在switch字典中,quit函数总是运行,并且在事件循环中不起作用。
第三,你要两次导入pygame。
第四,不要使用quit,请使用pygame.quit()。
第五,有几个无用的功能可以移除而不影响app类。
这是正确的代码:
import pygame
class App:
def __init__(self):
self.exitgame = False
self.surface = (640, 500)
self.screen = pygame.display.set_mode(self.surface)
def setup(self):
pass
if __name__ == "__main__":
game = App()
game.setup()
while not game.exitgame:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game.exitgame = True
pygame.quit()