0

我已经做了很多搜索,并找到了多个关于反重力物体的建议,但似乎没有什么能正常工作。我有一个用地球引力创建的物理世界。用户点击屏幕并创建精灵/动态物体。然后这些由于重力而落到屏幕底部。我有另一个精灵/身体应该在屏幕上反弹,忽略重力并从已创建的精灵反弹。AndEngine 的 Box2D 似乎没有 setGravityScale() 所以我不能将重力设置为 0。创建附加到运动体的固定装置以确定哪一侧发生碰撞的问题是精灵是一个圆(不是很大交易),我不太明白它们是如何工作的。我看到我可能能够创建一个动态的身体,其恒力等于身体。getMass()*SensorManager.Earth 在 -y 方向并将弹性设置为 1,但没有办法获得完美的弹性碰撞。有人有什么完美的建议吗?

4

2 回答 2

1

Box2D 中的碰撞从来都不是真正有弹性的,计算中的一些小错误往往会堆积起来,并且身体会失去能量。我想到了两种方法。

a)您可以将弹性设置为略高于 1

b) 你可以监测身体的动能,如果它低于某个阈值,稍微轻推一下

于 2012-06-29T12:10:05.253 回答
0

JohnEye 是正确的,只是没有我喜欢的那么丰富。在一个类似的问题中,我回答了这个问题:如何在物体行进的方向上施加力(Box2D)?

于 2012-06-29T20:12:59.707 回答