Skip to main content
 首页 » 编程设计

python之Pymunk -- 查找物体的相关形状和约束

2025年05月04日7think

我试图找到一些方法来迭代依赖于 pymunk 中特定主体的约束。在 Chipmunk 中似乎有多种方法可以做到这一点,但我在 pymunk 中找不到等效的方法。我希望看到一些检测约束的方法,这样我就不必手动跟踪所有约束。

我还想了解一种检测与 body 相关联的形状的方法。一般来说,当我从空间中移除物体时,我希望能够自动移除物体的形状和约束。这可能吗?

请您参考如下方法:

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 中。)