Переключение видов в ActionScript 3.0 с использованием MVC - PullRequest
0 голосов
/ 14 октября 2009

Я работаю над приложением Flash / AS3.0, в котором я хочу использовать MVC. У меня вопрос, кто отвечает за добавление / удаление просмотров со сцены? Большинство примеров, которые я нахожу, имеют класс doc, добавляющий представление, но я не видел примера того, кто уведомляет класс doc об удалении представления.

Структура приложения представляет собой один экран, на котором отображаются изображения - нажмите на изображение, и галерея исчезнет, ​​и увеличенная версия изображения появится для редактирования. Я вижу галерею как один вид, а экран редактирования (в котором есть изображение для редактирования и панель инструментов редактирования) как второй вид.

Мнения о структуре? Я видел много примеров, которые бы разбили панель инструментов на собственное представление.

Любая помощь приветствуется.

Спасибо, -j

Ответы [ 2 ]

1 голос
/ 14 октября 2009

Когда вы применяете MVC в as3 (или flex), вы применяете его так же, как и на любом другом языке, поэтому базовая структура всегда одинакова (и представление уведомляется моделью посредством события \ уведомления ) http://upload.wikimedia.org/wikipedia/commons/2/2e/ModelViewControllerDiagram.svg

AS3 не имеет встроенной архитектуры mvc, вы должны пойти к сообществу фреймворков, чтобы получить какую-то фреймворк mvc для создания собственного кода.

Вот несколько интересных ссылок о фреймворках mvc для платформы flash: http://puremvc.org/ http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm http://swizframework.org/ http://www.spicefactory.org/parsley/

надеюсь, это поможет;)

0 голосов
/ 16 октября 2009

Просмотр диаграммы PureMVC действительно прояснил ситуацию.

Что я сделаю, так это объединю функционально связанные элементы управления / элементы пользовательского интерфейса в объекты и позволю представлению удалять объекты по мере необходимости.

  1. Когда объект галереи нажимается -> представление передает щелчок контроллеру
  2. Контроллер вызывает внутреннюю функцию, которая вызывает функцию в модели
  3. Вызываемая функция модели меняет внутреннее состояние (какой вид должен быть на сцене)
  4. Модель отправляет событие обновления / изменения, которое всплывает до вида
  5. Представление вызывает внутреннюю функцию для удаления текущего представления и добавления нового представления, как указано в состоянии модели

Я больше смотрю на то, как / почему PureMVC использует команду, медиатор, прокси и фасад.

UI КОМПОНЕНТЫ: Галерея изображений будет одним компонентом пользовательского интерфейса, использующим шаблон Фабрика (что меняет алгоритм размещения) для создания подкласса ландшафта или портрета абстрактного класса рисунков.

Окном редактирования будет компонент пользовательского интерфейса

Панель инструментов редактирования будет компонентом пользовательского интерфейса, использующим шаблон для построения кнопок (один тип объекта - кнопка - с настраиваемыми атрибутами - заголовок, значок, есть ли у нее подключенный инструмент или действие и т.д.)

Когда нажимаются некоторые кнопки, появляется инструмент (например, инструмент кадрирования). Инструменты будут подклассами абстрактного класса Tool

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...