Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 27.06.2021, 23:05
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 1  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
По умолчанию MVC - вопрос по иерархии

Добрый вечер!

Как известно, я выбрал подход MVC для своей игры и пока не жалуюсь. Но за те два года, что я занимаюсь, я писал исключительно то, что называется core gameplay, т.е. взаимодействия с NPC: общение, сражения и т.п. и не заморачивался менюшками и прочими рюшками.

Сейчас пришло время добавить главное меню, журналы персонажей и квестов и что ещё полагается для интерфейса. И я напрочь забыл, как это делать с т.з. правильной иерархии.

Что я имею сегодня. Класс Main запускает контроллер, который выглядит вот так:
Код AS3:
public function Game (host: MainView) : void
{
	_host = host;
 
	_model = new GameModel (foregroundCharactes);
	_view = new GameView (_model, _host);
	_host.addChild(_view);
 
	_model.init();
 
	_view.addEventListener(ViewEventTypes.MENU_SELECT, menuCommandHandler);	// Подписываемся на выбор меню
}
То есть сразу после запуска приложения игрок сразу попадает в режим сражения: выбирает действия, получает обратную связь.

Я сверстал верхнее горизонтальное меню, где разместил кнопку главного меню. Если среди опций есть такие, которые влияют на Модель (например, опция "завершить игру"), значит её нужно слушать не в игровом контроллере, а в более высоком по иерархии объекте, который имеет власть над последним.

Напомните, пожалуйста, как это правильно сделать. Спасибо.
__________________
Не сломано - не чини!

Создать новую тему   Часовой пояс GMT +4, время: 07:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:17.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.