Box2d循环形状/在Cocos2D中创建静​​态地面形状

时间:2011-04-24 14:26:16

标签: iphone c++ objective-c cocos2d-iphone box2d

有谁知道在Box2D(Cocos2D附带的版本)中创建具有许多(~10000)顶点的静态地面体的最佳方法是什么。

这就是我现在对立方贝塞尔曲线所做的事情,它看起来很好但运行速度有点慢。

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,但它似乎不包含在Cocos附带的Box2d版本中?

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

对于b2LoopShape,你需要用Box2D trunk替换external / Box2d。

  1. box2d结帐Box2D主干。
  2. 用trunk / Box2D / Box2D替换cocos2d / external / Box2d。
  3. 修改Xcode项目以添加Box2D文件。
  4. 为重命名的类修改一些代码,例如s / b2DebugDraw / b2Draw /.