如何继续链?

时间:2012-04-09 08:12:04

标签: c++ box2d

我使用Box2d。

我创建了ChainShape。

突然间,我需要继续保持链条 我知道命令SetNextVertex(b2Vec2(-2.0f, 0.0f));

如何使用它?如何继续链?

2 个答案:

答案 0 :(得分:0)

在这里你创建了一个循环(连接了第一个和最后一个顶点)。因此,链条已经完成。

如果您不想要循环,则应使用CreateChain。

请参阅http://box2d.org/manual.pdf

中的4.6链形状

答案 1 :(得分:0)

目前唯一的解决方案是iforce2d提及,创建一个新的灯具并替换原来的灯具。

为什么?

安德鲁提到。 “你创建了一个循环(第一个和最后一个顶点连接)”。

这意味着实现明智:假设你有三个顶点,A:(0,0); B:(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。不幸的是,你不能在最后一个索引之前插入一个顶点,从而保持循环。

如果要继续向循环添加顶点,请询问功能请求:)