1
我正在创建一个包含许多顶点的物体,以与场景中的另一个物体发生碰撞。这与b2ChainShape
做,但我第一次尝试创建链的单个边缘(v2v
是坐标转换方法):Box2D:边缘形状和链形状使用不同的顶点坐标
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);
任何想法为什么?链条是否使用一些不同的坐标系?
这很奇怪。内部链形状只是管理一堆边缘形状,所以这里应该没有区别。你的代码中有没有其他地方可能是相关的? – iforce2d