如何继续链条

How to continue the chain?

本文关键字:继续 何继续      更新时间:2023-10-16

我使用 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(顶点,3)的长度将是4而不是3...索引 0:A、1:B、2:C 和 3:A(再次注意 A)。SetNextVertex 的作用是将另一个顶点 D:(1,1) 添加到后面(即制动环路),4:D。遗憾的是,您无法在最后一个索引之前插入顶点,从而保持循环。

如果要继续向循环添加折点,请请求要素请求:)