[英]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)
將main
周圍的單下划線更改為雙下划線:
if __name__ == "_main_":
它應該是
if __name__ == "__main__":
quit 調用不應該在 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()
這是Indentation的問題。 window 正在關閉,因為您在應用程序循環中調用pygame.quit()
。 您需要在應用程序循環后調用pygame.quit()
。
頂級代碼環境的名稱是"__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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.