我正在用 python 制作游戏,并且我设置了一些代码:

istouching = False
death = True

def checkdead():
    if istouching:
        print "Is touching"
        death = True

while death is False:
    print death
    game logic

我知道游戏逻辑是有效的,因为“正在触摸”打印,但是当我打印出死亡值时,它仍然是错误的,有什么帮助吗?

最佳答案

使用 global 更改函数内的全局变量,否则 death=True 内的 checkdead() 实际上会定义一个新的局部变量。

def checkdead():
    global death
    if istouching == True:      #use == here for comparison
        print "Is touching"
        death = True

10-07 20:16