gpt4 book ai didi

macOS 按键事件慢速重复

转载 作者:行者123 更新时间:2023-11-30 11:07:10 26 4
gpt4 key购买 nike

我正在尝试在 macOS 中创建一个小型 WASD 演示游戏。我正在使用 NSEvent 来处理关键事件。为了检测按键按下情况,我正在搜索 keyDown 事件。这是我所拥有的:

    NSEvent.addLocalMonitorForEvents(matching: .keyDown) {
(keyEvent) -> NSEvent? in
if self.keyDown(with: keyEvent) {
return nil
} else {
return keyEvent
}
}

func keyDown(with event: NSEvent) -> Bool {

userInt.keyDown(key: event.characters)

return true
}

所以在这里,我按住按键(正如您在游戏中所期望的那样),并且我的移动非常缓慢。就像,当我按住它时,它非常笨拙。经过进一步检查,我发现按键重复间隔为 0.1 秒,这是在我的系统偏好设置中设置的。这意味着它正在跳帧。不过,在游戏中,我不希望这个设置影响移动。那么,如何检测按键按住事件而不被按键重复间隔所阻止?

最佳答案

您应该忽略按键重复事件(isARepeat true)。相反,当您收到按键事件时,启动一个计时器,该计时器会根据您想要推进游戏状态的频率而触发。在计时器的触发代码中推进游戏状态。当您收到按键事件时,停止计时器。

关于macOS 按键事件慢速重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52581808/

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