【发布时间】:2016-01-16 06:34:49
【问题描述】:
我正在使用 pygame 和其他一些库在 python 中制作游戏。 I have the main menu as one python file, and when a player is selected, it starts the game file.如果您在玩游戏时选择返回菜单,它会再次启动菜单。但是,从新菜单中,我无法再启动/打开游戏文件了,它根本没有做任何事情。 (每次打开文件后,我都会关闭前一个文件)
例如:
Menu-->playerSelect-->gameStartUp-->Menu-->playerSelect-->中断/崩溃。
所以实际代码将用于第一个文件,即菜单名称“FlappyBirdMAIN”,“HappyBrid”是第二个游戏文件的名称。
if startGui == 2:
screen.blit(background, [0, 0])
import HappyBird
done=True
pygame.quit()
对于第二个文件“happyBird”,我将其打开连接到按下“m”键的菜单:
if event.key == K_m:
pygame.mixer.fadeout(1)
import FlappybirdMAIN
done=True
所以它导入 FlappyBirdMAIN 然后 done=True 关闭“HappyBird”文件
我发现通过复制相同的文件(“FlappyBirdMAIN”和“HappyBird”)然后让它们依次导入彼此,我可以让菜单出现然后再次下降(不止一次)但是当我将它链接回原始文件时,它会崩溃/中断,例如:
EX1:
FlappyBirdMAIN-->HappyBird-->FlappyBirdMAIN2-->HappyBird2-->FlappyBirdMAIN3-->HappyBird3
EX2:
FlappyBirdMAIN-->HappyBird-->FlappyBirdMAIN2-->HappyBird2-->FlappyBirdMAIN3-->HappyBird3-->FlappyBirdMAIN
问题在于使用导入命令。 exec(open("HappyBird.py").read())
使用 import 会使 python 认为它已经打开,因为它是一个智能导入系统。 (或类似的东西)。
Repeating Import Module - Python / Pygame
^我怎么想出来的链接。
谢谢。
【问题讨论】:
-
如果您正在寻找的只是发泄的地方(这不是 SO 的主题),那么您当前的问题有足够的信息,但是,如果您想修复您的程序,不是吗?认为您应该显示一些不起作用的代码?如果你想让他修理它,这有点像把你的车带到修理工那里。
-
不确定在哪里添加代码,但谢谢我这样做
-
您可能想take the Tour 并阅读有关how to ask a good question 的信息。
-
这样的?