MVC - Игра - Цель C - PullRequest
       4

MVC - Игра - Цель C

1 голос
/ 31 августа 2011

Я занимаюсь разработкой игры для iPhone.Игра в основном анимирует объекты на экране, позволяя пользователю нажимать на них.Я пытаюсь использовать шаблон MVC.У меня есть функциональность, изложенная так:

Модель: содержит данные о целях (скорость, относительный размер, изображение и т. Д.) Имеется ли таймер, который добавляет цели в список (это должно быть в контроллере?)

Контроллер: подписка на события, запущенные из модели (например, добавленная цель) Подписка на события, запущенные из представления (например, нажатие цели)

Вид: отображение целей

Последовательность может быть следующей:

  1. Контроллер сообщает модели о начале игры
  2. Модель запускает таймер, который говорит, что нужно добавить цель
  3. Контроллер слышит событие и передает егоview
  4. Просмотр добавляет изображение на экран (анимирует его)
  5. Пользователь нажимает на изображение
  6. Просмотр события пожара, в котором говорится, что изображение было нажато
  7. Контроллер слышит событие ипередает его модели
  8. Модель удаляет цель из себя

Наконец, я не уверен, куда поместить анимацию.Должен ли вид создавать анимацию (основываясь на настройках модели)?

Ответы [ 2 ]

1 голос
/ 31 августа 2011

Я бы посоветовал, чтобы представление или контроллер обрабатывали анимацию, чтобы вы могли воспользоваться встроенной поддержкой анимации Cocoa.Например, это будет выглядеть так:

  1. Просмотр модели запросов для позиции
  2. Просмотр добавляет изображение на экран в позиции
  3. Просмотр модели запросов для скорости
  4. Просмотр вычисляет новую позицию через 0,1 с и анимирует изображение на новую позицию
  5. Какао запускает событие завершения анимации
  6. Просмотр слышит событие
  7. Просмотр вычисляет новую позицию после еще 0,1 санимирует изображение в новую позицию

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

1 голос
/ 31 августа 2011

Я бы подумал, что анимация будет частью модели (или модели внутри модели), определенной контроллером и визуализированной представлением.

Вот хороший пример для iPhone:

http://www.bit -101.com / блог /? Р = 1969

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