2010-11-02 1 views
1

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

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

Благодарим за предстоящие ответы.

+0

Постарайтесь быть более конкретным с вашим вопросом: я вижу, что вас интересует прежде всего обнаружение столкновений, поэтому не смешивайте их в конечных автоматах и ​​ИИ - задайте их отдельно. – casablanca

ответ

2

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

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

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

Вы бы затем определить, на основе атаки в исполнении и расстояния до игрока B, и текущее состояние игрока B - будь то «приземлился» нападение, был «заблокирован »или« пропущенный »(High Kick Attack против Crouched Enemy« miss », а Low Kick Attach with Crouched Enemy NOT in Block - это« хит »).

Это серия «правил» - если оба игрока находятся на определенном расстоянии друг от друга, и состояния каждого игрока правильны для атаки, тогда атакующий «приземляется», или защитник «блокирует», или атакующий «промахивается».

+0

Это, конечно, так, как я бы этого добился - многие другие пытаются и неудачны на маршруте обнаружения столкновений, и в файтинге это совершенно не нужно, а также тратит тонну ресурсов процессора, вычисляя столкновений, как и большинство столкновений системы являются частью гораздо большего физического движка (например, Box2D, Chipmunk и т. д.). Это может занять много времени, чтобы настроить эти «правила», но вы потратите больше времени на то, чтобы выяснить «обнаружение столкновений», чем настроить несколько простых правил. Создайте один символ и определите правила для этого символа, затем заложите остальные –