2016-08-18 28 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%降低两个接触圈状体的半径。我希望这个能有一点帮助。

相关问题