Box2D |调整夹具大小而不破坏/重新创建?

时间:2016-08-18 16:56:01

标签: java android libgdx box2d

我想动态更改灯具尺寸。最初我会每帧摧毁灯具,然后用新尺寸重新创建它。这个问题是因为我每帧重新创建灯具,所以ContactListener被搞砸了,因为它会调用beginContact和endContact每一帧(因为我一直在破坏/重新创建灯具)。有没有办法解决?我需要联系人监听器才能工作。谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找类似this的内容(如果您使用半径作为大小)。

在您的ContactListener中,您可以访问您身体的灯具(例如使用Kotlin ):

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

这将使两个接触圆形体的半径减小1%。我希望这有点帮助。