Pymunk Намиране на асоциирани форми и ограничения на тялото

Опитвам се да намеря някакъв начин за повторение на ограниченията, зависещи от конкретно тяло в pymunk. Изглежда, че има няколко начина да направите това в Chipmunk, но не мога да намеря еквивалент в pymunk. Бих искал да видя някакъв начин за откриване на ограничения, така че да не се налага ръчно да следя всички тях.

Бих искал също да видя начин за откриване на формите, свързани с тялото. По принцип бих искал да мога автоматично да премахвам формите и ограниченията на тялото, когато премахвам тялото от пространство. Това възможно ли е?


person desophos    schedule 26.02.2013    source източник
comment
В момента няма вграден начин да се направи това в pymunk. В Chipmunk функциите на итератора преминават през форми и ограничения, които са едновременно прикрепени към тяло и добавени към пространство. Чудя се дали това е начинът, по който го искате и в pymunk, или трябва да е достатъчно формата или ограничението да са прикрепени към тялото?   -  person viblo    schedule 03.03.2013
comment
Мисля, че би било достатъчно да се повторят форми и ограничения, прикрепени към конкретно тяло, защото човек може лесно да провери за членство в пространството.   -  person desophos    schedule 03.03.2013


Отговори (1)


Най-новата trunk версия на 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.)

person viblo    schedule 04.03.2013