Я делаю игру в крестики-нолики, и когда вы нажимаете кнопку паузы (на самом деле это не кнопка, а просто прямоугольник с двумя линиями, похожими на символ паузы, который при нажатии генерирует обратный вызов) ), новый холст покрывает холст, отображающий игру, и вместо этого отображает «Приостановлено», «Возобновить», «Перезапустить» и «Выйти». Когда вы нажимаете Resume или Restart, я пытаюсь уничтожить новый холст, но поскольку он был создан в обратном вызове для паузы, он не является глобальным, и я не могу понять, как передать его в качестве аргумента .
Я пробовал лямбду в разных модах, но это не работает.
def resume(event):
pausedisplay.destroy()
def pause(event):
pausedisplay = Canvas(game, bg = "grey", highlightbackground = "white", width = 505, height = 505)
pausedtext = pausedisplay.create_text(253,100, font = "Oswald 84 bold underline", fill = "white", text = "Paused")
resumetext = pausedisplay.create_text(253,225, font = "Oswald 48 bold", fill = "white", text = "Resume")
restarttext = pausedisplay.create_text(253,300, font = "Oswald 48 bold", fill = "white", text = "Restart")
quittext = pausedisplay.create_text(253,375, font = "Oswald 48 bold", fill = "white", text = "Quit")
pausedisplay.tag_bind(resumetext,"<Button-1>", resume)
pausedisplay.tag_bind(restarttext,"<Button-1>", restart)
pausedisplay.tag_bind(quittext,"<Button-1>", quit)
pausedisplay.grid(row = 0, column = 0)
NameError: глобальное имя pausedisplay не определено