我试图找到某种方法来迭代依赖于 pymunk 中特定主体的约束。在 Chipmunk 中似乎有多种方法可以做到这一点,但我在 pymunk 中找不到等价物。我希望看到一些方法来检测约束,这样我就不必手动跟踪所有约束。
我还想看看一种检测与身体相关的形状的方法。一般来说,当我从空间中移除身体时,我希望能够自动移除身体的形状和约束。那可能吗?
最新的 pymunk 主干版本在 Body 类上有两个新的(截至目前)形状和约束属性。我总是返回形状/约束,不管它们是否被添加到空间中。
所以现在你可以这样做:
>>> import pymunk
>>> b = pymunk.Body()
>>> b2 = pymunk.Body()
>>> j = pymunk.PivotJoint(b,b2,(0,0))
>>> s = pymunk.Circle(b,3)
>>> b.constraints
set([<pymunk.constraint.PivotJoint object at 0x02521890>])
>>> b.shapes
set([<pymunk.Circle object at 0x025218F0>])
(这将包含在 pymunk 3.1 中。)