我正在创建一个具有许多顶点的实体,以与场景中的另一个实体发生碰撞。这是用 完成的b2ChainShape
,但我首先尝试创建该链的单个边缘(v2v
是坐标转换方法):
b2Vec2 v1 = [U v2v:CGPointMake(0, 150)];
b2Vec2 v2 = [U v2v:CGPointMake(50, 150)];
b2EdgeShape shape;
shape.Set(v1, v2);
这按预期工作:其他物体与该边缘碰撞。奇怪的是,当链形状使用相同的顶点时,没有碰撞:
b2Vec2 vertices[2];
vertices[0] = [U v2v:CGPointMake(0, 150)];
vertices[1] = [U v2v:CGPointMake(50, 150)];
b2ChainShape shape;
shape.CreateChain(vertices, 2);
知道为什么吗?链是否使用一些不同的坐标系?