如何在pybox2d中创建开放的ChainShape

时间:2013-09-05 16:53:14

标签: python box2d

我正在尝试使用pybox2d(版本2.3b0)和python 2.7.5创建开放的ChainShape,但它创建了与顶点数组中的第一个相同的顶点。 最小代码看起来像这样

import Box2D

a = [Box2D.b2Vec2(1,0), Box2D.b2Vec2(3,2), Box2D.b2Vec2(4,5)]

b = Box2D.b2ChainShape(vertices=a)
print b

b2ChainShape(vertices: [(1.0, 0.0), (3.0, 2.0), (4.0, 5.0), (1.0, 0.0)])

结果与预期不符,与b2LoopShape相同

b = Box2D.b2LoopShape(vertices=a)
print b

b2ChainShape(vertices: [(1.0, 0.0), (3.0, 2.0), (4.0, 5.0), (1.0, 0.0)])

创建开链形状的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我浏览了pybox2d源代码,发现b2ChainShape的其他属性是" vertices_loop"," vertices_chain"

构建开放式链式的正确方法是

b = Box2D.b2ChainShape(vertices_chain=a)

现在它按预期工作