![]() |
|
||||||||||
|
|||||
|
Блин, всю ветку не осилил, может было уже, но спрошу все равно... Как обрабатывать событие enterFrame? По идее логику должен обработать контроллер, передать в модель, а та в, свою очередь, во вьювер должна передать команду обновить экран. Как-то мне кажется это замороченным - гонять кучу данных по кругу. Да, вьювер может сам себя обновить, минуя контроллер и модель, но какой же это тогда MVC?
|
|
|||||||||
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Если речь о нужде события enterFrame в контроллере - тот создаёт DisplayObject и хватает у него этот enterFrame. Композиция, короче.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
ну по энтерфрэйм/таймеру можно менять модель тоже (например xPos,yPos,zPos)
а во вью это отображать. так у меня сделана одна 3D стрелялка. вью в этом случае это viewport камеры, модель - это координаты 3D объектов. делать каждый 3D объект вьюшкой нельзя. вернее они тоже вьюшки, но другого уровня - слушают например поле модели статус и исходя из него меняют свою текстуру/форму. Но вообще в таком случае чистый мвц не очень подходит.
__________________
Отряд Котовскага |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Делаем тупую игру, отображаем твое бабло в каждом из открываемых окошек. Пришла команда с сервера изменить кол-во бабла. В MVC проблемы нет, каждая вьюшка бабла сама отобразит новое значение, сколько бы их не отображалось на экране. В отсутствие оного пришлось бы искать все вьюшки бабла на экране и ставить новое значение. Это на пальцах если.
|
|
|||||
|
Цитата:
Цитата:
Вот. И это уже тогда не MVC получается - а просто архитектура. А так как во флэше все привязано к enterFrame - нужен ли вообще нам MVC? P.S.: но это так - нубские мысли. Все равно у каждого свое видение паттернов. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
ENTER_FRAME это просто периодическое событие. Не понимаю, каким образом оно нарушает MVC.
Последний раз редактировалось etc; 15.10.2010 в 17:25. |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
По моему, как минимум в gamedev'е рано или поздно все равно приходишь к MVC. Как не крути, слишком уж удобно отделять представление от данных и всем этим управлять контроллером. Потому не вижу смысла насильно разбираться в паттерне, который видимо просто негде пока применять.
|
|
|||||
|
Lorem ipsum
|
Много читал/спрашивал/планировал и пришел к выводу смещения мозгового центра из Controller в Model:
Model Хранит статические данные, состояния и прочее. При поступлении команд на изменение реализует логику по изменению состояния, сообщает об изменениях. View Элемент с двойственным характером. С одной стороны он на свой лад отображает данные из модели и следит за актуальностью этого отображения. С другой стороны еще реагирует на действия пользователя (как правило мышь, клавиатура). Но мышью можно кликнуть по кнопке, сменить состояние CB, сдвинуть ползунок, что там еще? Модель не должна в этом ковыряться, ей нужен четкий сигнал с конкретным значением конкретного свойства/состояния. Controller Самый тонкий элемент системы. Его задача принять сообщение от View, и на основании этого сигнала выдать простое и понятное сообщение. Например вместо "слайдер яркости в состоянии 80" модель уже получит "яркость 0.8". И поменяй я во View слайдер на числовое поле или CB — контроллер переписал и готово. А модель и не прознает. Основная позиция: не Controller, а Model является мозгом системы. К такой схеме я пришел на текущий момент. Ни на что не претендую и не против замечаний — мог что-то не учесть, что станет проблемой при таком подходе (хотя как бы изначально он именно таким и был у отцов-основателей)
__________________
Поймай яблоко 2! |
|
|||||
|
Мозгом системы является контроллер. Представь ситуацию: ты решаешь задачу и пишешь мысли в тетрадку, там её решаешь. Ты - контроллер, тетрадка - модель.
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
2Zebestov
немного меня смущает подмена понятий модели и контроллера у тебя. модель Цитата:
Цитата:
контроллер не выдаёт сообщений он явно меняет модель.
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:21. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|