2D физика игры? - PullRequest
       31

2D физика игры?

12 голосов
/ 19 сентября 2008

Может ли кто-нибудь указать мне библиотеку для физики 2D-игр и т. Д. Для программирования гравитации, прыжковых действий и т. Д. Для 2d-платформы / игры с боковой прокруткой? Или вы могли бы предложить некоторые алгоритмы для боковой прокрутки, такие как Mario, Sonic и т. Д.?

Ответы [ 11 ]

22 голосов
/ 19 сентября 2008

Похоже, Бурундук может удовлетворить ваши потребности.

12 голосов
/ 19 сентября 2008

Скорее всего, ваша лучшая ставка Box2D . Он выполняет 2D физику, имеет множество опций и очень легко интегрируется в существующий проект. По умолчанию это делает CCD для фиксированных тел, но любое твердое тело может быть выборочно включено в расчет CCD.

9 голосов
/ 19 сентября 2008

Если все, что вам нужно, это гравитация, вы можете запрограммировать это самостоятельно за 5 минут. Свободно падающие объекты ускоряются вниз со скоростью 9,8 метра в секунду в секунду, то есть нисходящая скорость объекта увеличивается на 9,8 метра в секунду свободного падения. Для игры вам нужно разделить эти 9,8 на любую частоту кадров. Для прыжков просто выберите значительную отрицательную вертикальную скорость, примените ее к персонажу в тот момент, когда он прыгает, и уменьшите ее на величину увеличения гравитации за кадр. Это действительно все, что вам нужно для чего-то вроде Марио, если только вы не ищете 3d-фон для своего 2-х стороннего скроллера.

Если вы хотите стать более любопытным, вы можете попытаться принять во внимание силу удара объекта, заставляя падающие предметы причинять людям боль, трещины на асфальте или что-то еще. Для этого используйте формулу для кинетической энергии: KE = 1/2 * M * V ^ 2, где M - масса, а V - скорость.

5 голосов
/ 19 сентября 2008

Какую платформу вы ищете? Какая библиотека будет зависеть от вас.

Для платформы XNA Farseer довольно хорош.

4 голосов
/ 21 сентября 2008

Чтобы ответить на вторую часть вашего вопроса, если вы хотите узнать, как работает простой 2D-платформер, прочитайте учебники для N . Да, N - это игра на основе флэш-памяти, но это не значит, что она не сконструирована как «настоящая» игра, поэтому учебные пособия по обнаружению столкновений (и реакции) очень применимы. Они просты для чтения с некоторыми интуитивно понятными демонстрационными примерами, встроенными в страницу, чтобы показать геометрические концепции.

2 голосов
/ 21 сентября 2008

Вы можете делать физику 2d с opende , а также

2 голосов
/ 19 сентября 2008

Этот парень много работал с Javascript-играми:

http://blog.nihilogic.dk/

2 голосов
/ 19 сентября 2008

Я использовал Box2D в личных проектах. Это API-интерфейс для двумерного физического моделирования. Но это может быть излишним, если вам нужен скорее игровой / графический API.

2 голосов
/ 19 сентября 2008

Если у вас есть время, вы можете использовать PhysX, но, скорее всего, это слишком много для 2D. Кроме того, если вы планируете, чтобы ваша игра работала на ПК, и хотите немного крутой физики, попробуйте поискать в Google для «интеграции верлетов». Я знаю, что существует довольно много реализаций верлетов (хорошо для частиц и 2D-тряпичных кукол).

2 голосов
/ 19 сентября 2008

Физика в большинстве 2D-игр с боковой прокруткой настолько проста, что вы можете легко реализовать их самостоятельно. Какие эффекты вы ищете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...