gpt4 book ai didi

python - pygame 一次一个层次组织和运行函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:05:29 26 4
gpt4 key购买 nike

我制作了一个游戏,但我有两个屏幕要显示,菜单页面和游戏页面。在菜单页面上,当我点击一个播放按钮时,它可以毫无问题地显示游戏,但是当我关闭正在运行的游戏时,它会返回到菜单屏幕,但我希望两个屏幕都退出。

如有任何帮助,我们将不胜感激。

示例代码:

菜单画面

def menu():
running = True

while running:
screen.blit(intros, (0,0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

GUI.button("Play game", 24,300, 128,50, violet, blue, screen, MAIN)
necessary things here!

def MAIN():
running = True

while running:
screen.blit(intros, (0,0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

all action starts here

任何人都可以给我一个关于如何运行菜单游戏的建议,以便当单击播放按钮并且主代码正在运行时,当我单击关闭时,游戏停止并且不会返回到菜单代码.

我在几个论坛上阅读过关于使用 if __name__ = "__main__" 的内容,但我发现它没用,也许我不知道如何正确实现它

最佳答案

发生这种情况是因为您有两个 while 循环。设置 running = False 只退出当前的 while-loop,所以你离开 MAIN 只会回到你调用它的 menu

如果要设置 running = False 退出两个循环,请将其设置为全局变量(并且只有其中一个)。

running = True
def menu():
...
def MAIN():
...

如果您想完全退出程序,您也可以使用import syssys.exit()。但我推荐第一个。

关于python - pygame 一次一个层次组织和运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com