Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 June 19

НП

Нехристь Пендостанск... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Попробуй очистить не канвас, а сам шарик удалить, и потом канвас апдейт
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
которое вызывает у связанных объектов реализации методов проверки через интерфейс
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
короче самое простое - какой нить pub/sub наверное
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
нам не важно кому нужно наше событие если мы генерируем клик
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
какой нить фабрикой/билдером создаем объекты наши, при этом подписываемся через абстрактный метод-интерфейс на событие клика абстрактное
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
че бы там объекты ни делали - они все от брокера получат в свои колбэки событие клика когда оно произойдет
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну и остается реализовать конкретного паблишера этих кликов - их может и несколько быть, в итоге когда происходит клик - на шину паблишится событие отнаследованное от базового класса - там координаты
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
брокер доставляет это событие всем кто на него подписался и дергает соответствующие методы у объектов
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
в итоге отделено и поведение объектов и сами объекты и источники событий и все дичайше звонко и по красоте
а вообще - лучше на C# каком нить этим заниматься
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну или на крайняк на плюсах
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
типа такого - колбэки все от абстрактного наследуются, логика работы у каждого своя, в зависимости от типа раскидываются по конкретным
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
брокер то есть знать ниче не знает о логике - его дело отправителя передать в базовый колбэк с сообщением - дальше магия полиморфизма все делает
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Нехристь Пендостанский
Попробуй очистить не канвас, а сам шарик удалить, и потом канвас апдейт
вообще - обычно есть контроллер который рисует кадр
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
он вызывает методы draw у привязанных к нему объектов
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
соответственно через реализацию конкретную метода draw реализуется логика, если мы хотим удалить объект - отвязываем его от контроллера
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
при этом можно также добавить методы которые будут вызываться при привязывании/отвязывании объектов - например через декораторы, декоратор получит копию объекта и можно, например отдельно от логики движения описать анимацию исчезновения
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
условно говоря в момент удаления появится на месте объекта его копия, которая уже не реагирует на клики или реагирует по другому и у нее другая реализация движения-например взрывается
источник