在程序中,我有移动的对象。用Vector(x,y)描述它们的速度。
因此,我希望对象减速-如果它们例如由于碰撞而加快速度,则在下一帧中将它们按比例缩小(系数为0.999),直到它们停止为止,因为速度太小,您看不到它们在移动(java达到1e-50或类似的水平)。
它的工作,但实际上是不正确的,因为按比例缩小它们在理论上永远不会停止。那么,如何才能让速度降为零,并让它REACH零?
只要它降至某个阈值以下,就将其设置为零:
if (velocity.magnitude() < threshold) {
velocity = new Vector(0, 0);
}
这种意志,然而,最终会发生在自己由于算术下溢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句