Python pygame-错误对象不可调用

Python pygame-错误对象不可调用,python,class,pygame,typeerror,Python,Class,Pygame,Typeerror,下面是我遇到问题的代码。有人能帮我解决这个错误吗?我想做的是,当我单击start game时,它调用if语句下main()中的行 错误: Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/untitled/Game.py", line 122, in <module> main() File "C:/Users/Administrator/Pychar

下面是我遇到问题的代码。有人能帮我解决这个错误吗?我想做的是,当我单击start game时,它调用if语句下main()中的行

错误:

    Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/untitled/Game.py", line 122, in <module>
    main()
  File "C:/Users/Administrator/PycharmProjects/untitled/Game.py", line 75, in main
    controller = Manager(screen)
  File "C:/Users/Administrator/PycharmProjects/untitled/Game.py", line 23, in __init__
    self.go_to(TitleMenu(screen))
  File "C:/Users/Administrator/PycharmProjects/untitled/Game.py", line 47, in __init__
    self.main_loop()
  File "C:/Users/Administrator/PycharmProjects/untitled/Game.py", line 54, in main_loop
    self.menu.update(events)
  File "C:\Users\Administrator\PycharmProjects\untitled\menumaker.py", line 46, in update
    self.options[self.option][1]()
  File "C:/Users/Administrator/PycharmProjects/untitled/Game.py", line 38, in <lambda>
    self.menu = makeMenu(["START GAME", lambda: run()], ["CONTROLS", lambda: Help(screen)], ["QUIT GAME", sys.exit])
TypeError: 'bool' object is not callable

问题是全局变量
run
run
函数混淆:

def run():
    global run
    run = True
    pass
这意味着当您尝试调用
run()
时:


它尝试调用布尔变量。若要修复此问题,请重命名全局变量
正在运行
,或重命名函数
开始运行

问题在于全局变量
运行
运行
函数混淆:

def run():
    global run
    run = True
    pass
这意味着当您尝试调用
run()
时:


它尝试调用布尔变量。要修复它,请重命名全局变量
正在运行
,或重命名函数
开始运行

确定修复了错误,但现在当我运行它时,什么也没有发生,它只是坐在那里而不是运行函数,退出时会出现一个错误,说“视频系统未初始化”@user1758231:听起来像是一个完全无关的错误。你应该试着调试它,如果你想不出来,你可以提出一个新问题。(但以防万一-新的
运行
函数和新的
生成菜单
行是什么样子的?)好的,修复了错误,但现在当我运行它时,什么也没有发生,它只是坐在那里而不是运行函数,当我退出时,我得到一个错误,说“视频系统未初始化”@user1758231:听起来像是一个完全无关的错误。你应该试着调试它,如果你想不出来,你可以提出一个新问题。(但以防万一-新的
运行
函数和新的
生成菜单
行是什么样子的?)
    self.menu = makeMenu(["START GAME", lambda: run()], ["CONTROLS", lambda: Help(screen)], ["QUIT GAME", sys.exit])