pymunkの特定のボディに依存する制約を反復処理する方法を見つけようとしています。シマリスでそうする方法は複数あるようですが、シマリスで同等のものを見つけることができません。制約を手動で追跡する必要がないように、制約を検出する方法を見つけたいと思います。
また、体に関連する形状を検出する方法も見たいです。一般的に、スペースからボディを削除するときに、ボディの形状と制約を自動的に削除できるようにしたいと思います。それは可能ですか?
pymunk の最新のトランク バージョンには、Body クラスに 2 つの新しい (現在の) 形状と制約プロパティがあります。スペースに追加されているかどうかに関係なく、形状/制約を常に返すようにしました。
したがって、次のことができます。
>>> 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 に含まれます。)