pygame 模块 - window 立即关闭
pygame module - window instantly is closing
我已经检查了其他主题并且我已经测试了这些解决方案但没有任何 pos 结果。我需要用问题刷新主题。我哪里出错了?
import pygame
pygame.init()
WIDTH, HEIGHT = 1000, 800
window = pygame.display.set_mode((WIDTH, HEIGHT))
def run(window, width, height):
run = True
clock = pygame.time.Clock()
fps = 60
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
break
clock.tick(fps)
pygame.quit()
if __name__ == "_main_":
run(window, WIDTH, HEIGHT)
退出调用不应该在 while 块上,而应该在它之后。否则它会立即退出。
因此:
def run(window, width, height):
run = True
clock = pygame.time.Clock()
fps = 60
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
break
clock.tick(fps)
pygame.quit()
将 main
周围的单下划线更改为双下划线:
if __name__ == "_main_":
应该是
if __name__ == "__main__":
这是Indentation的事情。 window 正在关闭,因为您正在应用程序循环中调用 pygame.quit()
。您需要在应用程序循环后调用 pygame.quit()
。
top level code environment 的名称是 "__main__"
,但不是 "_main_"
:
def run(window, width, height):
run = True
clock = pygame.time.Clock()
fps = 60
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
clock.tick(fps)
# INDETATION
#<--|
pygame.quit()
if __name__ == "__main__": # <--
run(window, WIDTH, HEIGHT)
我已经检查了其他主题并且我已经测试了这些解决方案但没有任何 pos 结果。我需要用问题刷新主题。我哪里出错了?
import pygame
pygame.init()
WIDTH, HEIGHT = 1000, 800
window = pygame.display.set_mode((WIDTH, HEIGHT))
def run(window, width, height):
run = True
clock = pygame.time.Clock()
fps = 60
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
break
clock.tick(fps)
pygame.quit()
if __name__ == "_main_":
run(window, WIDTH, HEIGHT)
退出调用不应该在 while 块上,而应该在它之后。否则它会立即退出。 因此:
def run(window, width, height):
run = True
clock = pygame.time.Clock()
fps = 60
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
break
clock.tick(fps)
pygame.quit()
将 main
周围的单下划线更改为双下划线:
if __name__ == "_main_":
应该是
if __name__ == "__main__":
这是Indentation的事情。 window 正在关闭,因为您正在应用程序循环中调用 pygame.quit()
。您需要在应用程序循环后调用 pygame.quit()
。
top level code environment 的名称是 "__main__"
,但不是 "_main_"
:
def run(window, width, height):
run = True
clock = pygame.time.Clock()
fps = 60
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
clock.tick(fps)
# INDETATION
#<--|
pygame.quit()
if __name__ == "__main__": # <--
run(window, WIDTH, HEIGHT)