如何在 Java 中检查变量的增长率



我正在尝试获取Java中变量的变化率(增加或减少)。

例如,我有一个处理程序,它根据重力和按住鼠标按钮的时间量改变对象的速度。

我想获取过去 5 秒速度变量的变化率。然后检查它是否减少得太慢。

如果它太低,重力应该增加,使其更快地下降。否则,重力也应该增加以降低速度。

如何检查对象的位置?

Stack Overflow并不是真正为一般的"我该怎么做"类型的问题而设计的。它适用于特定的"我尝试了 X,预期为 Y,但得到了 Z"类型的问题。但我会尝试在一般意义上提供帮助。

对此,没有一个神奇的开箱即用的解决方案。

如果没有电脑,只用一张纸和一支铅笔,你会怎么做?用英语写下说明,您可以按照这些说明来计算变量的变化率。

一种解决方案可能是将最后的 X 值添加到数组或 ArrayList,然后使用它来计算它的变化量。或者可能只是存储 X 帧前的值,然后将其与当前值进行比较。

关键是,做到这一点的方法并不只有一种。

java.awt.event.MouseEvent 在按下鼠标和释放鼠标时触发。随着 MouseEvent 扩展 InputEvent,方法 getWhen() 为您提供以毫秒为单位的系统时间,此外,更多的 MouseEvent 具有获取鼠标位置的方法。因此,注册一个鼠标侦听器,该侦听器会记住按下鼠标和释放鼠标的时间,从而为您提供按下鼠标的时间。鼠标侦听器是否启动和停止计数器,计数速度取决于您的重力变量,您将轻松获得在经过的时间内发生了多少计数。

最新更新