我似乎无法在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)
};
答案 0 :(得分: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;