为什么我在while循环中将变量设置为false会给我错误而不是停止循环

时间:2018-12-26 16:39:44

标签: python python-3.x

我正在创建我的第一个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)   `

1 个答案:

答案 0 :(得分:0)

null是您main的局部变量,因此有必要将其发送到函数。另外,还有一些标识错误。这是固定版本:

pause