Как определить, что объект на холсте скрыт
Решил сделать игру на Tkinter, у меня есть её почти готовый вид, не буду углубляться в саму игру.
Есть противник, он - это канвас фото. (PhotoImage, canvas.create_image) сначала он должен быть скрыт, как это реализовать правильно? Позже, мне надо будет проверить с помощью IF скрыт ли он, в этом сама проблема.
Я попробовал сделать так:
canvas.itemconfig(self, state='hidden')
Он справился с сокрытием врага, но как теперь проверить скрыт ли он? Есть функция, она постоянно должна проверять скрыт ли противник. Как реализовать?
Ответы (1 шт):
Если метод itemconfig вызвать без дополнительных параметров (передать только id нужного объекта на холсте), то он вернет значения всех параметров объекта в виде словаря (см. Canvas.itemconfig).
Соответственно, чтобы получить state, нужно из этого словаря получить данные по ключу "state":
canvas.itemconfig(item_id, state="hidden")
print(canvas.itemconfig(item_id)["state"]) # ('state', '', '', '', 'hidden')
print("hidden" in canvas.itemconfig(item_id)["state"]) # True