#Вопрос
Пушка.
1) Создаем три события в модуле main:
gun = Gun(canv, WIDTH, HIGHT)
canv.bind('<Motion>', gun.targetting)
canv.bind('<Button-1>', gun.fire_on)
canv.bind('<ButtonRelease-1>', gun.fire_end)
2) Запускаем выстрел и увеличиваем power_up пока не наступит событие отжатия кнопки. Событие canv.bind('<ButtonRelease-1>', gun.fire_end) определено в main и должно менять переменную self.f_on = 0 (делать False0
def fire_on(self, event):
self.f_on = 1
print(self.f_on)
while self.f_on:
self.power_up()
time.sleep(0.5)
print(self.f2_power, self.f_on)
print("Выстрел")
3) Событие отжатия кнопки меняет значение переменной self.f_on = 0. Я ожидаю что цикл в fire_on должен завершится, так как self.f_on должно и изменится
def fire_end(self, event):
self.f_on = 0
print(self.f_on)
Но он продалжается, т.е. программа не ловит событие canv.bind('<ButtonRelease-1>', gun.fire_end) и цикл бесконечно крутит
П.с. класс Gun и его методы реализованы в отдельном модуле