Box2D в форме петли / создание статических наземных форму в Cocos2d отличается


Кто-нибудь знает, какой лучший метод для создания статического наземного тела со многими (~10000) вершинами в Box2D (версия, которая поставляется с Cocos2D).

Это то, что я делаю сейчас для кубических Безье, это выглядит прекрасно, но работает немного медленно.

for (int i = 0; i<segments; i++) {
    CGPoint p2 = vertices[i+1];
    CGPoint p1 = vertices[i];
    b2PolygonShape poly;
    poly.SetAsEdge(b2Vec2(p1.x,p1.y), b2Vec2(p2.x, p2.y));
    groundBody->CreateFixture(&poly,0);
}

Люди говорят о b2LoopShape, но не похоже, что он включен в версию Box2d, поставляемую с Cocos?

Есть идеи?

1 2

1 ответ:

Для b2LoopShape необходимо заменить external/Box2d на Box2D trunk.

  1. checkout Box2D trunk from box2d.
  2. заменить Cocos2d отличается/внешних/Box2D в багажник/Box2D в/Box2D в.
  3. Измените проект Xcode для добавленных файлов Box2D.
  4. измените некоторые коды для переименованных классов, таких как s/b2DebugDraw/b2Draw/.