Collision Hit Boxes для 2D файтинга.Инструменты? - PullRequest
1 голос
/ 03 ноября 2010

Я нахожусь в процессе разработки 2D-файтинга в том же стиле, что и Capcom Street Fighter Alpha для iPhone.Для обнаружения столкновений я думаю о создании нескольких блоков попаданий в каждом кадре спрайта в анимации и проверке столкновений между ними в основном игровом цикле.Существуют ли какие-либо инструменты для создания списков попаданий на спрайтах и ​​генерации этих метаданных (скажем, в .plist или .xml)?

Как другие 2D-файтинги, разработанные сообществом cocos2d iPhone, обрабатывали обнаружение столкновений и генерациюполезные метаданные?

Спасибо за ожидаемые ответы.

1 Ответ

2 голосов
/ 28 декабря 2010

В файтинге обнаружение столкновений фактически не выполняется (или не должно выполняться, то есть).

Что вы хотели бы сделать, это определить расстояние между игроком A и игроком B, когда игрок Aвыполняет «атаку».Атаки игрока A являются «статическими»:

High Punch = 64px reach
Low Punch = 54px reach
Mid Punch = 45px reach
High Kick = 64px reach
etc, etc, etc

Затем вы можете определить, исходя из выполненной атаки, расстояния до игрока B и текущего состояния игрока B - была ли атака «приземлилась», была«заблокирован» или «пропущен» (атака с высоким ударом против врага-крадуна - «промах», в то время как атака с низким ударом с врага-крадуна НЕ в блоке - это «удар»).если два игрока находятся на определенном расстоянии друг от друга, и состояния каждого игрока являются правильными для атаки, то атакующий «приземляется», или защитник «блокирует», или атакующий «промахивается».

...