2015-01-18 3 views
0

У меня есть спрайт, в котором есть много анимаций, которые можно сделать для различных событий нажатия клавиш. Например, когда я нажимаю клавишу со стрелкой вправо. Он будет запускать следующие анимации: Startrun, run, Endrun Пока циклы выполнения зависят от того, что клавиша все еще нажата.Дизайн шаблона анимации?

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

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

Хотелось бы услышать ваши мысли или даже некоторые примеры.

Благодаря Koby

+1

Прежде чем перейти к шаблону проектирования (или более из них комбинированные), написать работающее приложение. Улучшите путем рефакторинга и принятия конкретных шаблонов проектирования на втором этапе. Нет ничего лучше, чем практическая практика, которую мы можем рекомендовать, она абсолютно зависит от ваших фактических потребностей (с помощью производительности, расширяемости и т. Д.) –

+0

напишите, что у вас есть – robert

+0

http://stackoverflow.com/q/28011208/ 560648 –

ответ

1

Этот вопрос носит субъективный характер, и каждый разработчик будет иметь свой вкус реализации. Однако я дам свои 2 цента об этом.

Мой путь (обратите внимание на субъективную «мой») было бы что-то вроде:

  • Sprite менеджера
    • одноточечно абстрактные фабрики, которая создает спрайтов из спрайта файлов
    • также серверы в качестве пула объектов спрайтов
  • Sprite
    • состав спрайтов кадров и Sprite анимации (ы)
  • спрайтов анимации
    • агрегация спрайтов кадров
  • GameObject
    • агрегации спрайтов, положения и другие забавы
    • имеет функцию UpdateFunction, называемую основным контуром
  • PlayerObject
    • вывод GameObject
    • состояние машины в нем реализованы
  • LocalPlayer
    • вывода PlayerObject
    • регистров в качестве наблюдателя в InputManager
  • RemotePlayer
    • вывод PlayerObject
    • регистров в качестве наблюдателя Лепи
+0

Большое спасибо – kobyle

Смежные вопросы