0

我正在尝试使用 pybox2d (ver 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)])

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

4

1 回答 1

0

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

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

b = Box2D.b2ChainShape(vertices_chain=a)

现在它按预期工作

于 2014-06-24T07:56:54.447 回答