簡體   English   中英

為什么我在 while 循環中將變量設置為 false 會給我錯誤而不是停止循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM