所以,我有一个玩家的身体+装置等,它本质上是一个在周围弹跳的球。
我想要检测它何时“基本上”完成移动。
目前我是这样做的:
public Boolean isStopped() {
return body.getLinearVelocity().x <= 0.3f && body.getLinearVelocity().y <= 0.3f;
}
这样基本可以实现,问题在于当玩家撞到东西时,速度瞬间变为0,所以这个条件返回true。我真正想要的是在它基本完成时返回true。最好是在一个范围内,我可以根据自己调整游戏世界的物理特性来设置。我不能通过检查它是否睡眠来进行检查,因为那太晚了,它只有在停止受力作用后才会进入睡眠状态,我需要在此之前确定。我可以仅存储停止时间/停止步骤的计数,但我希望有一个我可能错过的很好的预先存在的方法。有什么想法吗?