我使用 Box2d。
我创建了 ChainShape。
突然,我需要继续这个链条。
我知道命令SetNextVertex(b2Vec2(-2.0f, 0.0f));
怎么用?如何延续链条?
在这里,您创建了一个循环(第一个和最后一个顶点已连接)。这样链就完成了。
如果你不想要一个循环,你应该使用 CreateChain。
请参阅http://box2d.org/manual.pdf中的 4.6 链形状
当前唯一的解决方案是 iforce2d 提到的,创建一个新的夹具并替换原来的夹具。
为什么?
正如安德鲁所说。“您已经创建了一个循环(第一个和最后一个顶点已连接)”。
这意味着实现方式:假设您有三个顶点,A:(0,0); 乙:(0,5);C:(5,0)。CreateLoop(vertices, 3) 的长度为 4 而不是 3...索引 0:A、1:B、2:C 和 3:A(再次注意 A)。SetNextVertex 的作用是将另一个顶点 D:(1,1) 添加到后面(即制动循环),即 4:D。不幸的是,您不能在最后一个索引之前插入顶点,从而保持循环。
如果您想继续向循环中添加顶点,请提出功能请求:)