我想要动态更改灯具大小。最初我会销毁每一帧的灯具,然后用新的尺寸重新创建它。这样做的问题是,因为我每一帧都要重新创建灯具,所以ContactListener搞砸了,因为它会在每一帧调用beginContact和endContact (因为我一直在销毁/重新创建灯具)。有什么办法可以解决这个问题吗?我需要联系监听器才能工作。谢谢!
发布于 2016-09-15 17:19:26
我认为你正在寻找像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%。我希望这会有一点帮助。
https://stackoverflow.com/questions/39023679
复制相似问题