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