2016-08-18 31 views
0

我想動態地改變一個燈具的大小。原本我會毀掉每一幀的夾具,然後用新尺寸重新創建它。問題在於,因爲我在每一幀重新創建燈具,ContactListener被搞砸了,因爲它會調用beginContact和endContact每一幀(因爲我一直在銷燬/重新創建燈具)。有沒有辦法解決?我需要聯繫人偵聽器才能工作。謝謝!Box2D |調整夾具大小而不破壞/重新創建?

回答

0

我認爲你正在尋找類似this(如果你使用半徑作爲尺寸)。

在你ContactListener您可以(使用科特林)訪問你的機構的燈具,例如:

override fun beginContact(contact: Contact) { 
    contact.fixtureA.body.fixtureList[0].shape.radius *= 0.99f 
    contact.fixtureB.body.fixtureList[0].shape.radius *= 0.99f 
} 

這將在1%降低兩個接觸圈狀體的半徑。我希望這個能有一點幫助。

相關問題