Я работаю над игрой, в которой у меня есть экран входа в систему, за которым следует главное меню и главное окно игры.В главном меню у меня есть кнопка, которая должна изменить сложность игры, что приведет к изменению радиуса цели.Чем выше сложность, тем меньше радиус.Когда я назначаю свой переменный радиус, а затем пытаюсь изменить его с помощью кнопки (внутри класса), он не будет работать и вместо этого будет использовать ранее определенный радиус.
Я пытался установить множество различных глобальных переменных.
difficulty = -1
class Application(Frame):
def __init__(self, master):
super().__init__(master)
self.difficulty = -1
self.grid()
self.login = self.create_main()
self.read = None
def changeVariable1(self):
self.difficulty = 12
def changeVariable2(self):
self.difficulty = 16
def changeVariable3(self):
self.difficulty = 20
def diff(self):
global radius
if difficulty == 12:
radius = (30)
elif difficulty == 16:
radius = (20)
elif difficulty == 20:
radius = (10)
def create_read(self):
read = Toplevel()
Button(read, text="Easy", font='Helvetica 10 bold', command=self.changeVariable1()).grid(row=3, column=2)
Button(read, text="Medium", font='Helvetica 10 bold', command=self.changeVariable2()).grid(row=3, column=3)
Button(read, text="Hard", font='Helvetica 10 bold', command=self.changeVariable3()).grid(row=3, column=4)
return read
root = Tk()
app = Application(root)
root.mainloop()
Я ожидаю, что когда я нажимаю кнопку «легкий, средний, жесткий», она меняет сложность, которая устанавливает радиус на соответствующийзначение.