Box2D является физическим движком реального времени и предназначен для работы с двухмерными физическими объектами.
Важные ссылки:
Как начать пользоваться
Библиотека Box2D относится к тем немногим библиотекам, для которых уже есть готовый solution в Visual Studio. После распаковки скаченного архива, solution будет находится в папке <Папка_куда_распаковали>\Box2D\Build\vs2012
. Solution содержит несколько проектов. Из них вам важны:
Основные используемые классы описаны в документации (английской и русской)
Готовые примеры (миры) в Testbed
В папке Tests проекта Testbed находится множество уже готовых примеров: Вот некоторые из них, на которые стоит обратить внимание :
Другие примеры тоже интересны - посмотрите :)
Как создать свое приложение в рамках Testbed
В нем определить класс, который будет описывать поведение ваше мира, который должен быть наследником класса Test, и иметь статическую функцию Create(), которая возвращает экземпляр созданного класса. Например, если ваш класс называется MyTest, то фунция должна выглядеть так:
static Test* Create()
{
return new MyTest;
}
В конструкторе своего класса описать создание мира
Перекрыть нужные виртуальные методы предка. Некоторые важные методы, необходимые для решения большинства задач
virtual void Step(Settings* settings)
- вызывается на каждый шаг расчетовvirtual void Keyboard(unsigned char key)
- вызывается при нажатии клавишиvirtual void KeyboardUp(unsigned char key)
- вызывается при отжатии клавишиvirtual void KeyboardUp(unsigned char key)
- вызывается при отжатии клавишиvirtual void MouseDown(const b2Vec2& p)
- вызывается при нажатии мышкойНе забывайте, что не всю логику нужно писать прямо в этом классе!!! Некоторые части лучше уносить в отдельные классы, которыми основной класс будет пользоваться
В файле Tests\TestEntries.cpp
в инициализацию структуры TestEntry g_testEntries[]
добавить запись о том, как создавать объект, реализованного вами класса. Пример:
TestEntry g_testEntries[] =
{
{"MY_SUPER_TEST", MyTest::Create},
{NULL, NULL}
}
Сделать проект Testbed основным, скомпилировать и запуститься. В combox'e Tests выберите название своего теста.