0

我使用 Box2d。

我创建了 ChainShape。

突然,我需要继续这个链条。
我知道命令SetNextVertex(b2Vec2(-2.0f, 0.0f));

怎么用?如何延续链条?

4

2 回答 2

0

在这里,您创建了一个循环(第一个和最后一个顶点已连接)。这样链就完成了。

如果你不想要一个循环,你应该使用 CreateChain。

请参阅http://box2d.org/manual.pdf中的 4.6 链形状

于 2012-04-09T18:22:38.317 回答
0

当前唯一的解决方案是 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。不幸的是,您不能在最后一个索引之前插入顶点,从而保持循环。

如果您想继续向循环中添加顶点,请提出功能请求:)

于 2013-01-07T09:09:13.440 回答