Анимации в 2D игре C # XNA - PullRequest
       7

Анимации в 2D игре C # XNA

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

Я хочу создать 2D-игру на C # с использованием XNA. Должны быть клюшки, которые могут носить различное оружие, например, пистолет, гранату или ракетную установку. И эти человечки также должны уметь делать другие вещи, такие как выпить бутылку пива и прочее. Итак, как вы создаете и храните эти анимации (пьете бутылку пива, ходите, бросаете гранату) и как вы можете рассказать им как держать оружие (пистолет: в руке, граната: в руке, но держа за собой руку, ракетная установка: на плече)? Какой лучший (простой и расширяемый) подход к этому?

Ответы [ 3 ]

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

Для Stickmen, мне приходит в голову, скелетная анимация с непосредственно отрисованными костями. Такая векторная графика будет очень хорошо масштабироваться по сравнению со спрайтами. Скелетная анимация хранит дерево костей с длинами и углами и интерполирует между предопределенными ключевыми кадрами. Преимущество этого состоит в том, что вы можете легко включить некоторую простую физику и обратную кинематику, которые сочетаются с анимацией (посмотрите на превосходную бумагу Якобсена Verlet ) для хранения оружия, банок с пивом и выступов мантии и т.д. Это довольно продвинутый материал, намного проще, чем 3D-графика, но он все еще займет много времени на разработку и реализацию.

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

Одна вещь, которая может помочь при составлении спрайтов (наделение героя мечом и т. Д.) С использованием SpriteBatch, - это аргумент Origin при некоторых перегрузках метода Draw.Это позволяет вращать вокруг чего-то другого, кроме верхнего левого угла, а также может помочь при позиционировании спрайтов разных размеров.Поскольку источник указан в масштабе текстуры источника, любые вычисления будут действительным событием, если спрайты нарисованы в другом масштабе.

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

То, что вы спрашиваете, является довольно широким вопросом. Возможно, вы захотите взглянуть на пример 2D Platformer, который поставляется с XNA Game Studio. Это может помочь вам начать.

...