gpt4 book ai didi

Java KeyBindings 输入延迟

转载 作者:行者123 更新时间:2023-11-29 07:46:47 24 4
gpt4 key购买 nike

我不太确定如何用这个问题的标题来表达。基本上,我正在使用 JFrames 制作太空入侵者,并使用 KeyBindings 进行键盘输入。键绑定(bind)工作正常,我可以毫无问题地移动飞船。但是,如果我按住一个键,船会移动 5 个像素,然后停顿大约半秒,之后它会平稳移动。按下该键时,我的代码会提高船速(每帧将船移动 5-10 像素)。我假设这是键盘输入的常见和正常行为,但我希望飞船始终如一地平稳移动。有办法实现吗?

(注意。我的代码很长,因为我假设这是正常发生的事情,所以我不会立即发布它。但是,如果您确实需要查看它,请发表评论,我将对其进行编辑。)

最佳答案

延迟取决于操作系统。每个操作系统都定义了自己的“重复率”,用于在按下某个键时生成事件。

秘诀是启动一个Swing Timer当按键被按下然后使用定时器生成一个事件来做动画然后当按键被释放时停止定时器。这样您就可以独立于操作系统控制动画间隔。

查看 Motion Using the Keyboard . KeyboardAnimation 示例代码显示了一种执行此操作的方法。

关于Java KeyBindings 输入延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25045438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com