在tkinter上暂停游戏外壳窗口并打开一个新的外壳窗口

时间:2018-08-03 17:41:44

标签: python-3.x pygame tkinter-canvas

使用Tkinter python。

我正在创建一个游戏,并且其中有一个退出按钮。我想当我单击退出按钮时,我的游戏暂停并打开一个新的外壳。如果我单击按钮,则游戏外壳将继续工作。如果我点击按钮,则退出游戏。 按钮可以正常工作。我在单击退出按钮游戏时遇到问题,应该暂停并在单击否按钮时恢复游戏

def quit_function():
    YES = Button(tk9,text="YES",font=("Showcard Gothic",10), command= os._exit(0), fg='white', bg='red', width=10)
    NO = Button(tk9,text="NO",font=("Showcard Gothic",10), command= tk9.destroy, fg='white', bg='red', width=10)

    #**Quit Button**
    QUIT  = Button(tk3,text="QUIT",font=("Showcard Gothic",10), command= quit_function, fg='white', bg='red', width=10)

这可以正常工作,但不是主要问题,主要问题是我无法暂停和继续游戏

1 个答案:

答案 0 :(得分:0)

您可以使用游戏循环来更新您的游戏并测试游戏是否已暂停,可以通过消息框完成是或否

from tkinter import *
from tkinter import messagebox

def quit_callback():
    global pause
    pause = True
    if messagebox.askokcancel("Exit", "Wanna leave?"):
        root.destroy()
    pause = False

def game_loop():
    while True:
        if not pause:
            print("game working")
        root.update()


root = Tk()

Label(root, text="your game here")
pause = False

root.protocol('WM_DELETE_WINDOW', quit_callback)
root.after(0, game_loop)
root.mainloop()