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

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

Войти через центр авторизации
Похожие вопросы
17 апр. 2024, в 00:48
35000 руб./за проект
17 апр. 2024, в 00:13
800 руб./за проект
17 апр. 2024, в 00:06
240000 руб./за проект