Задать вопрос
@LaperuZ

Как изменить вектор движения в tkinter?

Подскажите как поменять направление движения круга (он должен двигаться вправо и дойдя до стенки, начать двигаться влево). У меня он доходит до края и начинает просто дёргаться на месте. Заранее спасибо.

from tkinter import*

root = Tk()
root.geometry('600x600+10+10')
canv = Canvas(root, bg = 'green')
canv.pack(fill = BOTH, expand = 1)

x = 200
y = 200
r = 20

def update():
    global x
    canv.delete(ALL)
    canv.create_oval(x - r,y - r, x + r,y + r)    
    if x < 580:
        x += 3
    elif x >= 580:
        x -= 3
    root.after(20, update)
update()

mainloop()
  • Вопрос задан
  • 406 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Нужно переменную тригер, которая бы задавала направление. Одними условиями направление не задать. Когда круг доходит до карая срабатывает уловие которое отодвигает его на оди шаг, затем снова начинает действовать условие которое двигает обратно, а там всего один шаг.
Например добаить переменную шаг_х = 3, когда х > 580 и шаг_х > 0 то шаг_х = -3. Условие сработает один раз - при достижении границы, затем шаг_х изменится. При этом х += шаг_х всегда.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы