Найти - Пользователи
Полная версия: Tkinter.bind. Как заставить объект двигаться равномерно пока нажата клавиша
Начало » GUI » Tkinter.bind. Как заставить объект двигаться равномерно пока нажата клавиша
1
Grig_iv
Использовал bind, но при нажатии движение было не равномерным.
Пытался использовать изменение while press:
def tank_stop(event):
    global flag
    falg = False
def tank_up(event):
    global flag
    
    flag = True
    
    while flag:
        root.after(100, t.move(0, -5))
        root.update()
        
cnvs.bind('<ButtonPress-1>', tank_up)
cnvs.bind('<ButtonRelease-1>', tank_stop)

Но while игнорировал изменение flag'a
4kpt_II
Что значит “неравномерным”. Поясните.
Grig_iv
При нажатии обект перемешается на “move(0, -5)” сразу 1 раз, через пол секунды ещё, потом чере 1/4 сек еще и так далее. А надо что бы он без “разгона перемешался”
Grig_iv
Имеется в виду зажатая клавиша, а не одинарное нажатие
BorisVlasenko
Я в таком случае делал так: бесконечный цикл отрисовки, с обновлением и задержкой.
При нажатии клавиши и отпускании клавиши меняется значение переменной, которая проверяется в цикле.
http://progras.ru/igra-ping-pong-na-python/
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB