[英]Why my setting variable to false in while loop gives me error instead of stopping the loop
我正在創建我的第一個 Python 游戲,並嘗試執行暫停/取消暫停游戲功能。 我創建了一個全局pause
變量,它通過聲明設置為false
。 但是當我按下分配給我的暫停功能的按鈕時,程序給了我這個錯誤: local variable 'pause' referenced before assignment
這是對按鈕的paused()
函數分配:
if event.key == pygame.K_p:
pause = True
paused()
這是我的paused()
函數:
def paused():
while pause:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_m:
pause = False
pygame.display.update()
clock.tick(15)
#gameDisplay.fill(white) `
pause
是 main 的局部變量,因此必須將其發送到函數。 此外,還有一些識別錯誤。 這是固定版本:
if event.key == pygame.K_p:
pause = True
paused(pause)
def paused(pause):
while pause:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_m:
pause = False
pygame.display.update()
clock.tick(15)
#gameDisplay.fill(white) `
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.