|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
CEMb Как было: игра на каждом шагу лезет в танк, находит у него пушку и в пушен проверяет количество особых припасов - изменяет UI. Как стало: пушка, когда получает/теряет припасы, собирает нотификацию для танка, танк передаёт её в игру, игра делает отметки в UI. Так как игровые архитектуры совершенно отличаются от учетных задач на sql.ru. Например, на gamedev.ru. Например, в 3D именно на каждый шаг и каждый раз строится новый каркас игры, вектора для отображения. То есть, опять таки есть платформа чтобы не с нуля. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 07:45 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
mayton Каждый кодер должен хоть раз в жизни написать свои "танчики". Но да, я свои танчики делал, лет 8 назад, было такое. На рсдн-е даже есть видео одного забавного бага про останавливающиеся ракеты. Весёлое было времечко :) Dimitry Sibiryakov Но раз ты доволен - всё хорошо. НеофитSQL Если раньше был опрос пушки-объекта, а теперь уведомление от танка-объекта, то особой разницы по-моему нет. PetroNotC Sharp ты следующий раз в теме пиши. "Игры - хххххх". Меня вообще интересовал паттерн для этой задачи, какой обычно используется? Ещё раз расскажу: - Приложение оперирует объектами класса A, класс A содержит объекты класса B, объекты класса B не имеют доступа к Приложению, но должны его информировать о некоторых событиях. - Вариант 1. Приложение при управлении объектами класса A, само опрашивает дочерние объекты класса B на тему изменения состояния. - Вариант 2. Объекты класса B в случае изменения состояния, собирают нотификацию и отдают её родительскому объекту класса A, а тот пересылает его Приложению. Что хорошо, что плохо, как правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 10:10 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
CEMb надо проинформировать приложение о смене состояния. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 10:15 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
CEMb Что хорошо, что плохо, как правильно? Что хорошо там и что плохо?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 10:16 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
CEMb, ТС работает больше отвечающих. (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 10:17 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
CEMb А можно как-то на примере показать? я не совсем понял. var карта = Карта(self, hdc) ; //Теперь карта сама рисует на переданной канве родительского окна. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 10:21 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
PetroNotC Sharp не сильно много на себя берет Приложение? Зачем ему тонкости пятого пальца ноги? PetroNotC Sharp выше ссылку давал на пример из js. Что хорошо там и что плохо?))) var карта = Карта(self, hdc) ; //Теперь карта сама рисует на переданной канве родительского окна. Хорошо: можно сделать такое архитектурное решение, в котором объекту нижнего уровня можно привязать объект из UI(не напрямую), чтобы он сам им рулил, когда надо. Совсем хорошо подходит, когда 1:1. У меня 1:1. Поэтому я теперь задумался про изменения в архитектуре. Ну и у этого тоже есть плюсы и минусы. Плюс, что "прикрепил и забыл", не надо больше думать об обновлении. Минусы - надо проводить дополнительные шаги при инициализации, заботиться о том, что UI подходит данному элементу, следить за тем, что будет, когда один из этих двух закончится и так далее. В JS всё хорошо на вид, ну, собственно, это и есть мой второй вариант, когда объект нижнего уровня начинает отправлять наверх сообщение, оно проходит через всю иерархию, до document. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 11:09 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
CEMb Ну оно ответственное за UI, потому и берёт. CEMb Плохо: карта лезет напрямую в UI. Ей надо знать про UI, она привязана к UI. Чем плохо? Вы меняете UI как перчатки? Бросьте. Выше писали про MVP. Применяется в андроиде. Тогда вы не hdc передаете в конструктор, а у вас в Presenter{ private ссылкаНаViewInterface view; .... По интерфейсу класс без гуи танк вызывает танк-гуи. ГУИ может быть любым, лиш бы интерфейс прнимало. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 11:54 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
CEMb если что случилось, собирают нотификацию, - клик мышкой с парам х, у - рисование объектом на канве - пришел новый список городов РФ в json - паттерн Observable наблюдатель возбудился - системные события Оси. А вы все отправляете вектором строк? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 12:08 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
PetroNotC Sharp паттерн Observable наблюдатель возбудился Упс. В плюсах вместо этого костыль сигналы https://stackoverflow.com/questions/3185374/observable-container-for-c ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 12:20 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
PetroNotC Sharp По интерфейсу класс без гуи танк вызывает танк-гуи. ГУИ может быть любым, лиш бы интерфейс прнимало. PetroNotC Sharp А вы все отправляете вектором строк? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 12:22 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
CEMb Да, согласен, так получается правильнее. То есть галка "Пересчитывать в доллары" на самом деле биндится или смотрит на bool пересчитыватьБаксами() метод класса. MVP M - model V - view элементы, активити, фрагменты,... P - presenter, бизнес логика. В дельфи pas файлы а не dfm ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 12:32 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
CEMb получается, если разделять - это надо завести иерархию классов С другой стороны, предают же object, self? А потом уже клиеет Button btn = (paramSelf as Button).caption ="fffffff" А строки не серьезно. Имхо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 12:36 |
|
Пятничные нотификации
|
|||
---|---|---|---|
#18+
PetroNotC Sharp строгая типизация наше всё. Люблю её. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2020, 13:05 |
|
|
start [/forum/topic.php?fid=57&msg=40021268&tid=2017302]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 272ms |
total: | 428ms |
0 / 0 |