草庐IT

getLinearVelocity

全部标签

java - 如何减慢box2d body 的线速度或角速度

我有一个模拟弹跳球的圆形动态主体,我将恢复原状设置为2,它就失去了控制,无法停止上下弹跳。所以我想使用阻尼来减慢球的线速度或角速度。if(ball.getLinearVelocity().x>=80||ball.getLinearVelocity().y>=80)ball.setLinearDamping(50)elseif(ball.getLinearVelocity().x当球的线速度达到80或以上时,我将其线性阻尼设置为50,然后它就开始super慢动作。谁能解释一下Damping的工作原理以及如何正确使用.setLinearDamping()方法,谢谢。编辑这就是我所做的,如果

java - 如何检查 body 是否几乎停止在 libgdx + box2d 中移动

所以,我有一个球员body+固定装置等,它本质上是一个会弹跳的球。我想检测它何时“差不多”完成移动。目前我这样做:publicBooleanisStopped(){returnbody.getLinearVelocity().x这主要是可行的,问题是当玩家击中某物时,有一个瞬间速度为0,因此返回true。我真正想要的是在它基本完成时返回true。最好在我调整游戏世界的物理特性时可以设置为任何我喜欢的范围内。我无法使用检查它是否正在sleep,因为这来得太晚了,直到它停止对它施加力之后它才会sleep,我需要就在之前。我可以只存储它停止了多长时间/停止的步数,但我希望有一个我错过的很好的