我已经做了很多搜索,并找到了反重力物体的多个建议,但似乎没有什么工作正常。我有一个用地球引力创造的物理世界。用户点击屏幕并创建精灵/动态物体。然后由于重力,它们落到屏幕的底部。我有另一个精灵/身体应该在屏幕周围反弹,忽略重力并从已经创建的精灵中弹回。 AndEngine的Box2D似乎没有setGravityScale()所以我不能将引力设置为0.创建固定装置附加到运动体以确定哪一侧碰撞的问题是精灵是一个圆圈(这不是一个大的交易),我不太明白他们是如何工作的。我看到我可能能够在-y方向上创建一个等于body.getMass()* SensorManager.Earth的恒定力的动态体,并将弹性设置为1,但是没有办法获得完全弹性的碰撞。有人有任何完美的建议吗?
答案 0 :(得分:1)
Box2D中的碰撞永远不会真正具有弹性,计算中会出现一些小错误,这些错误往往会堆积起来并且身体会失去能量。有两种方法可以想到。
a)您可以将弹性设置为略高于1
b)你可以监测身体的动能,如果它低于一定的阈值,给它一点点推动
答案 1 :(得分:0)
JohnEye是正确的,只是没有我喜欢的信息量。在类似的问题中,我回答了这个问题:How do I apply a force to a body in the direction it is traveling (Box2D)?