1
正如標題所說,我如何連接/約束2個pymunk主體/形狀,以便它們不會作爲一個單獨的對象?
例如,在這種情況下,我有一個板球蝙蝠,由2個獨立的身體和多晶硅組成。
我想將蝙蝠的「手柄」加入到我的蝙蝠的「刀片」中,以便獲得一個蝙蝠般的物體。如何在pymunk中製作「複合」形狀?
我的代碼:
### BAT n Co. ###
# body format: [vertices, offset, position, mass]
bat_bodies_v = [
# bat
[[[0, 34], [4, 34], [4, 0], [0, 0]],(-2,-20),(103,190),20], # handle
[[[6, 90] , [0, 32] , [0, 17], [6, 0] , [10, 0], [10, 90]],(-5,-20),(100,100),1100] # blade
]
bat_bodies = []
for vertices, offset, pos, mass in bat_bodies_v:
moment = pm.moment_for_poly(mass,vertices,offset)
b = pm.Body(mass,moment)
b.position = pos
poly = pm.Poly(b, vertices,offset)
poly.friction = 0.9
bat_bodies.append(poly)
space.add(b,poly)
# the closest I got.
j1 = pm.constraint.PinJoint(bat_bodies[0].body,bat_bodies[1].body)
j2 = pm.constraint.RotaryLimitJoint(bat_bodies[0].body,bat_bodies[1].body,0,0)
space.add(j1,j2)
這 ============= 變得 ============== ==>這
我有在身體吸引那些綠色圓圈的功能定位
Thx再次。但是如果我確實需要製造兩個獨立的身體形狀,那麼我該怎麼做?例如,一個易碎的木板,如果關節上有超過x的力,就會斷裂,給我2個獨立的形狀。這如何實現? – pradyunsg 2013-03-19 05:52:00
我也在想。我想要可破壞的物體。您可以單獨處理每個形狀的碰撞,並且如果您決定破壞形狀,則確定其中心。刪除舊的,並將相同的形狀添加到新的身體。 – Kaliber64 2013-07-31 06:35:29
您是否必須在將兩個形狀添加到身體之後重新計算一次或者Pymunk會自動執行此操作? – skrx 2017-05-03 09:35:53