我似乎无法在Box2D Cocos2D项目中创建带有顶点的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)
};

最佳答案

下一步将指定要成形的顶点
b2PolygonShape形状;
int num = 4;
b2Vec2顶点[] = {
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(顶点,num);
b2FixtureDef fixtureDef; fixtureDef.shape = &shape;

10-07 23:39