2010-12-05 23 views
3

我似乎无法在Box2D Cocos2D项目中创建带顶点的b2PolygonShape。我没有得到任何错误,但没有出现在屏幕上。如何用b2PolygonShape顶点创建静态物体

如何让b2PolygonShape顶点工作的静态物体?

我想用它建立这样的名单:

b2Vec2 verts[] = { 
     b2Vec2(-194.5f/PTM_RATIO, 83.0f/PTM_RATIO), 
     b2Vec2(-118.5f/PTM_RATIO, 65.0f/PTM_RATIO), 
     b2Vec2(-77.5f/PTM_RATIO, 2.0f/PTM_RATIO), 
     b2Vec2(3.5f/PTM_RATIO, -59.0f/PTM_RATIO), 
     b2Vec2(62.5f/PTM_RATIO, -61.0f/PTM_RATIO), 
     b2Vec2(108.5f/PTM_RATIO, -63.0f/PTM_RATIO), 
     b2Vec2(138.5f/PTM_RATIO, -41.0f/PTM_RATIO), 
     b2Vec2(169.5f/PTM_RATIO, 11.0f/PTM_RATIO), 
     b2Vec2(184.5f/PTM_RATIO, 49.0f/PTM_RATIO), 
     b2Vec2(218.5f/PTM_RATIO, 51.0f/PTM_RATIO), 
     b2Vec2(219.5f/PTM_RATIO, -89.0f/PTM_RATIO), 
     b2Vec2(-174.5f/PTM_RATIO, -88.0f/PTM_RATIO) 
}; 

回答

5

下一步将指定的顶点来塑造

 
    b2PolygonShape shape; 
     int num = 4; 
     b2Vec2 vertices[] = { 
        b2Vec2(10.5f/PTM_RATIO, 10.6f/PTM_RATIO), 
        b2Vec2(11.8f/PTM_RATIO, 18.1f/PTM_RATIO), 
        b2Vec2(-11.9f/PTM_RATIO, 18.3f/PTM_RATIO), 
        b2Vec2(-10.5f/PTM_RATIO, 10.8f/PTM_RATIO) 
       }; 
     shape.Set(vertices, num);

b2FixtureDef fixtureDef; fixtureDef.shape = &shape;