Xcode: Cocos2d: не могу создать мир с Box2D - PullRequest
8 голосов
/ 13 октября 2011

Мой проект возник в виде шаблона cocos2d Box2D, и у меня возникли проблемы, как только я попытался создать мир:

world = new b2World(gravity,doSleep);

Выдает ошибку: нет подходящего конструктора для инициализации 'b2World'.

Файл .mm, я полагаю, это какая-то проблема со связыванием библиотеки, может быть? Если так, то я использую xCode 4, как я могу проверить, правильно ли связана библиотека?

Спасибо.

1 Ответ

25 голосов
/ 13 октября 2011

Вы используете Box2D v2.2 или новее. Конструктор b2World больше не принимает два аргумента, только один (гравитация). Вы должны установить doSleep отдельно:

world = new b2World(gravity);
world->SetAllowSleeping(doSleep);

Это будет не единственное изменение, которое вам нужно будет сделать для перехода с Box2D v2.1.x на v2.2.x. Kobold2D имеет работающий пример проекта Box2D 2.2.1, даже если вы не используете Kobold2D, вы можете получить обновленный исходный код для основ Box2D. В частности, класс GLESDebugDraw и как установить ограничивающую рамку экрана с телом, используя несколько фигур.

...