window.blit(textR,name) UnboundLocalError:

所以我有这个错误,一直说在赋值之前引用了名称,但我不知道赋值是什么,我试图让 textR 和名称成为女巫的地方,我试图把它所属的代码放在它上面并吼叫它但它仍然不起作用我也尝试将它从主循环中取出。


我遇到问题的地方及其所属的代码


window.blit(textR,name)


    for power in powers:

        if player1.rect.colliderect(power.rect):

            power1.draw(player1.x,player1.y)

            if Time < 30:

                Time += 1


                name = font.render("Timer = "+str(Time),True,(255,255,255))

                textR.center = ((100,80))

                player1.speed += 2

            else:

                power1.x  =9999


largeQ
浏览 120回答 1
1回答

烙印99

name您尝试读取函数中的全局变量redrawwindow。由于变量在同一函数中被赋值,因此变量被解释为局部变量。使用global语句 将变量解释为全局变量:def redrawwindow():    global name    [...]    window.blit(textR,name)    for power in powers:        if player1.rect.colliderect(power.rect):            power1.draw(player1.x,player1.y)            if Time < 30:                Time += 1                name = font.render("Timer = "+str(Time),True,(255,255,255))    # [...]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python