Java 如何在不调用wait()或yield()的情况下从用户获取两个基于时间的输入

Java 如何在不调用wait()或yield()的情况下从用户获取两个基于时间的输入,java,input,time,mouse,Java,Input,Time,Mouse,我目前正在用Java制作一个游戏。我最近一直在研究鼠标输入,而我被卡住的地方与游戏识别鼠标何时移动有关。很明显,我已经让它接受鼠标输入,但我不能让游戏中的玩家根据鼠标位置正确旋转 我能想出的解决办法是在一个时间点测量鼠标的x位置,然后在一毫秒后将其与另一个测量值进行比较,看看鼠标是否移动了,如果移动了,让播放器随着鼠标移动的距离线性旋转得更快 然而,我不知道如何在不迫使整个程序等待或让步(这将是糟糕的)的情况下做到这一点 我试着将这个位置写入一个文件,然后立即重新读取,但它倾向于以不同的速率读取

我目前正在用Java制作一个游戏。我最近一直在研究鼠标输入,而我被卡住的地方与游戏识别鼠标何时移动有关。很明显,我已经让它接受鼠标输入,但我不能让游戏中的玩家根据鼠标位置正确旋转

我能想出的解决办法是在一个时间点测量鼠标的x位置,然后在一毫秒后将其与另一个测量值进行比较,看看鼠标是否移动了,如果移动了,让播放器随着鼠标移动的距离线性旋转得更快

然而,我不知道如何在不迫使整个程序等待或让步(这将是糟糕的)的情况下做到这一点

我试着将这个位置写入一个文件,然后立即重新读取,但它倾向于以不同的速率读取文件,导致旋转痉挛和不均匀。但除此之外,我对想法持开放态度。我不能发布我的代码,因为程序中有很多类文件,但是如果有必要,我可以将整个项目发布到github,供任何人查看

GitHub存储库链接:

如果有帮助的话,我正在Eclipse Mars上使用LWJGL 3、paulscode和Slick Util。