haXe Physics Engine

Кроме собственно haXe Николас Каннассье написал еще физический движок «haXe Physics Engine». Вот только нормальной документации он написать не потрудился.

Сейчас я разбираюсь с движком, и мне нужно будет где-то фиксировать мои «открытия». А какая разница где фиксировать? — Никакой. Поэтому фиксировать буду тут, вдруг ещё кому пригодится.

Внимание! Это никакая не официальная документация. В материалах ниже могут быть неточности и ошибки. Это просто то, как я понимаю движок.

Загрузка библиотеки
Откройте консоль (в Виндоусе Пуск→Выполнить→cmd) и наберите haxelib install physaxe. Библиотека скачается и установится куда нужно сама. Понятно, что для этого у вас должен быть установлен сам haXe.

Подключение библиотеки
Для подключения движка, как и любой другой библиотеки, в FlashDevelop нужно открыть свойства проекта и на вкладке «Compiler Options» в пункте «Libraries» написать physaxe. Это приведет к тому, что при компиляции среда передаст компилятору ключ -lib physaxe.

API
Весь движок находится в пакете phx. В этом пакете есть еще два вложенных пакета phx.col и phx.joint. Классы движка описаны ниже.

Пакет phx

  • Allocator
  • Arbiter
  • Axis
  • Body
  • Circle
  • Collision
  • Const
  • Contact
  • FlashDraw
  • Island
  • JsCanvas
  • Material
  • Polygon
  • Properties
  • Segment
  • Shape
  • Timer
  • Vector
  • World

Пакет phx.col

  • AABB
  • IAABB
  • BroadPhase
  • BruteForce
  • Quantize
  • SortedList

Пакет phx.joint

  • Joint

Комментарии

Я вот под себя

Я вот под себя этот Physaxe достаточно сильно перелопатил, плюс мёржил туда различные стороние разработки - Рейкастинг, Джоинты. Надо бы про это тоже как-нибудь рассказать.
___
Тихо, идёт запись!

очень интересно

elmortem, расскажи - очень интересно, думаю не один я буду очень благодарен. Physaxe с работающими joints это большой шаг вперёд.

APE

а я просто подключил swc с APE. У него тоже немного документации, но она есть! :)

игорь

Physaxe основан в

Physaxe основан в основном (как пишет сам автор на http://code.google.com/p/physaxe/) на 2х движках: Box2D и Glaze, так что возможно имеет смысл почитать доки по этим движкам.
А вот здесь http://code.google.com/p/physaxe/wiki/Tutorial есть туториал

От Box2D Physaxe

От Box2D Physaxe довольно сильно отличается, как по API, так и по возможностям, а к Glaze никакой документации также нет. Так что если какие-то дополнительные материалы появятся, в любом случае будет хорошо и полезно.

На данный момент могу добавить к теме, что в Physaxe пока не реализована поддержка Joints (phx.Joint - просто заготовка).

box2d

Некоторое время назад (для повышения производительности) портировал Box2d на haxe.
Лежит тут (v 2.0.1)
http://code.google.com/p/box2d-haxe/source/checkout

box2d-haxe

спасибо!
обязательно попробую в деле на досуге.
на данный момент для небольших и быстрых AS3 проектов использую ещё вот эту обертку - QuickBox2D. Кода там не много, так что имея уже портированный Box2d, при необходимости наверное и это можно будет адаптировать.