0
我想動態地改變一個燈具的大小。原本我會毀掉每一幀的夾具,然後用新尺寸重新創建它。問題在於,因爲我在每一幀重新創建燈具,ContactListener被搞砸了,因爲它會調用beginContact和endContact每一幀(因爲我一直在銷燬/重新創建燈具)。有沒有辦法解決?我需要聯繫人偵聽器才能工作。謝謝!Box2D |調整夾具大小而不破壞/重新創建?
我想動態地改變一個燈具的大小。原本我會毀掉每一幀的夾具,然後用新尺寸重新創建它。問題在於,因爲我在每一幀重新創建燈具,ContactListener被搞砸了,因爲它會調用beginContact和endContact每一幀(因爲我一直在銷燬/重新創建燈具)。有沒有辦法解決?我需要聯繫人偵聽器才能工作。謝謝!Box2D |調整夾具大小而不破壞/重新創建?
我認爲你正在尋找類似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%降低兩個接觸圈狀體的半徑。我希望這個能有一點幫助。