@bely_volk95
Начинающий программист Python

Как сделать так чтобы кружок можно было двигать дальше после нажатия на пробел?

from tkinter import*
def DrawCircle(x,y,r):
    h.create_oval(x-r,y-r,x+r,y+r,fill='black')

def right(event):
    h.move(1,5,0)
def left(event):
    h.move(1,-5,0)
def up(event):
    h.move(1,0,-5)
def down(event):
    h.move(1,0,5)
def space(event):
    h.delete('all')
    h['bg']='purple'
    h.create_oval(x-r,y-r,x+r,y+r,fill='black')
    
root=Tk()

root.bind('<Right>',right)
root.bind('<Left>',left)
root.bind('<Up>',up)
root.bind('<Down>',down)
root.bind('<space>',space)

h=Canvas(root,width=500,height=500,bg='purple')
x=250 
y=250
r=50
DrawCircle(x,y,r)
h.pack()
root.mainloop()


я могу двигать шарик но после пробела он перестаёт откликаться на нажатия на стрелки. Помогите пожалуйста. на стрелки он должен двигаться на 5 пикселей в указанную сторону. при нажатии на пробел шарик должен возвращаться на исходную точку.
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 1
stympel
@stympel
Если мне не отказывают глаза в 4 часа ночи, то при нажатии на пробел создается другой круг и он уже не имеет никакого отношения к событиям. Здесь нужно сделать так:
  1. Создать один единственный объект круга (записать в переменную к примеру)
  2. Создать переменные с координатами центра окна
  3. Когда нажимаете пробел, меняете значения координат круга на значения координат центра окна
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
20 окт. 2020, в 00:19
5000 руб./за проект
19 окт. 2020, в 23:56
20000 руб./за проект
19 окт. 2020, в 23:19
100000 руб./за проект