Как в Canvas удалить объект?
Подскажите пожалуйста. Я сделал игру лабиринт и её суть в том, чтобы человечек(квадратик) двигался по лабиринту и собирал ключики(квадратики) от двери(два квадратика),и надо, всего лишь одну команду, чтобы при касании игрока и ключика ключик исчезал
Часть кода:
for k in keys:
if player in c.find_overlapping(k[0], k[1], k[2], k[3]):
key_num += 1
Ответы (2 шт):
Автор решения: insolor
→ Ссылка
Нужно знать id удаляемого объекта, по нему удалять. Пример:
rectangle_id = canvas.create_rectangle(x1, y1, x2, y2)
# ...
canvas.delete(rectangle_id)
Также можно присвоить нескольким объекта тег (текстовому имени группы объектов), по этому тегу удалить все объекты:
canvas.create_rectangle(x1, y1, x2, y2, tag='key1')
canvas.create_oval(x1, y1, x2, y2, tag='key1')
canvas.create_line(x1, y1, x2, y2, tag='key1')
# ...
canvas.delete('key1')