我一直在使用Pygame开发一款简单的游戏,目前我正在为每个级别的事件添加结果(例如死亡)。目前我设置为在按下enter时导入相同的模块,如果发生死亡则水平“重新启动”。该代码在第一次“重启”时正常运行,但如果我再次播放,则不会再次导入相同的级别。
这是我到目前为止的代码:
elif event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN and health == 0:
import PracticeLevel
我对python很新,所以如果出现任何错误我会道歉,感谢任何帮助:)
答案 0 :(得分:1)
这是一个非常奇怪的方法,但你的问题是python是聪明的'关于导入(它不会导入两次相同的模块)。导入更多的是从模块中检索函数和类,并且不应该像你一样真正用于执行python文件。执行此类操作的一般方法是创建一个run_level(filename)
函数,该函数将加载关卡数据并运行它,但是如果您不想更改当前格式,则应使用{{ 1}}而不是execfile("PracticeLevel.py")
语句。
如果您使用的是Python 3(其中import
不是内置函数),您可以编写
execfile