Недавно я начал проектировать игровой движок с использованием парадигмы Entity System, то есть иметь сущности в виде совокупности компонентов и систем, которые реализуют настоящую игру. В то время как у меня были трудности в различных аспектах, меня больше всего беспокоит абстракция / модульность различных Компонентов / Систем. В частности, скажем, у my Player
есть несколько состояний анимации, например. Walking
, Sleeping
, Jumping
, И один тип Opponent
объекта имеет несколько (не обязательно одни и те же) состояний , а также, например. Walking
и Hiding
т. д.
Как мне спроектировать движок, чтобы он обрабатывал различные (анимационные) состояния каждого типа сущности? Должны ли быть разные системы анимации для каждого типа сущностей? Должен ли я использовать флаги, которые сигнализируют системе анимации, чтобы отобразить правильный объект? Кроме того, я могу избежать использования "жестко запрограммированных" перечислений для различных поз? Я вижу, что система сценариев может помочь, но я почти уверен, что есть более простое решение.
источник
if
внутри системы анимации; Ранее я скептически относился к использованию словарей строк (в C ++) в отношении памяти. Читая сегодня о хеш-таблицах, я нахожу ваш ответ достаточно простым. Что касается «блендера»: означает ли «добавление 50% ходьбы» замену некоторых кадров на «прогулки» в 50% случаев?