TL; DR-它告诉我全局变量'main'没有定义,有没有办法从另一个文件中的另一个类中调用main? -
我正在为我的CS课程创建一个小型的平台游戏,并且在我们自定义游戏的下半部分我想要添加第二级别。当你“击中”“门”型瓷砖时,我以为我可以像这样重新运行。
这是主要的,下面是碰撞测试并返回
def main():
if level == 1:
p = Platformer('Adventure Time!', 'map1.tmx', 600, 600, 30)
else:
p = Platformer('Adventure Time!', 'map2.tmx', 600, 600, 30)
p.main_loop()
main()
接下来在玩家类中检测到与不同对象的碰撞时,我在点击“门”类型时运行此代码
def handleCollisionWith(self, name, other):
if other.kind == 'door':
level = 'level2'
main()
它告诉我全局变量'main'没有定义,有没有办法从另一个文件中的另一个类中调用main?
答案 0 :(得分:1)
请改为尝试:
def main(level): #note i added the level parameter that you have to pass in
if level == "level1":
p = Platformer('Adventure Time!', 'map1.tmx', 600, 600, 30)
else:
p = Platformer('Adventure Time!', 'map2.tmx', 600, 600, 30)
p.main_loop()
def handleCollisionWith(self, name, other):
if other.kind == 'door':
level = 'level2'
Class_name.main(level) #you have to call main() with reference to the class it is in