我试图获得Java中变量的变化率(增加或减少)。
例如,我有一个Processing程序,可以根据重力和按住鼠标按钮的时间来改变对象的速度。
我想获得最近5秒的速度变量的变化率。 然后检查它是否下降太慢。
如果太低,重力应该增加,使其下降得更快。 否则,重力也应增加,以降低速度。
我如何检查对象的位置?
答案 0 :(得分:3)
Stack Overflow并非真正针对一般"我如何做到这一点"输入问题。这是特定的"我试过X,期望Y,但得到了Z而不是#34;输入问题。但是我会在一般意义上尝试提供帮助。
没有一个神奇的开箱即用的解决方案。
如果没有电脑,只用一张纸和一支铅笔,你会怎么做?写下英文说明,您可以按照这些说明计算变量的变化率。
一种解决方案可能是将最后的X值添加到数组或ArrayList中,然后使用它来计算它的变化程度。或者只是存储X帧之前的值,然后将其与当前值进行比较。
重点是,没有一种方法可以做到这一点。
答案 1 :(得分:0)
在鼠标按下和鼠标释放时触发java.awt.event.MouseEvent。当MouseEvent扩展InputEvent时,方法getWhen()以毫秒为单位为您提供系统时间,更多MouseEvent具有获取鼠标位置的方法。因此,注册一个记住鼠标按下和鼠标释放时间的鼠标监听器,它会显示鼠标按下的时间。鼠标监听器是否启动和停止计数器,计数速度取决于您的重力变量,您可以轻松获得在经过的时间内发生的计数。