swift - 如何更改游戏中的键盘重复率?

标签 swift sprite-kit game-engine keyboard-events gameplay-kit

我正在使用 SpriteKit 和 GameplayKit 在 Swift 3 中为 Mac OS 编写游戏。 我已经创建了一种方法来捕获键盘按下事件并可以控制 map 上的角色。 Sprite 使用 MovementComponent 进行移动,如果记录了键盘事件,则该组件会在每次更新时应用移动 Action 。 然而,在第一次按下按键后,角色的移动会出现延迟。 当我按住箭头键时,我的角色会在标准移动 Action 的持续时间内移动,但在继续移动之前会有一段延迟,因为在第一次按键后键盘开始重复循环之前有大约 0.5 的延迟。 我的问题是:在游戏运行时如何更改键盘重复率或消除此延迟,或者是否有更好的方法在 Mac 游戏中通过键盘实现连续移动控制?

提前谢谢大家。

最佳答案

这也许是用伪代码来最好的思考。

While key is pressed, do such-and-such

通过这种方式,您可以独立于系统对按住的按键的轮询和报告。

关于swift - 如何更改游戏中的键盘重复率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40181497/

相关文章:

ios - 如何使用导航 Controller 调用 View Controller

iOS+SpriteKit : How to force portrait mode?

swift - 使用 AVAudioPlayer 播放从 HTTP POST 请求接收到的 NSData

ios - 如何在应用程序创建的 PHAsset 上设置 mediaSubtype

ios - NSKeyedUnarchiver SKSpriteNode 不显示

ios - 访问循环中添加的 Sprite 节点以调用类继承方法?

javascript - 在 v8 JavaScript 中重复调用 C++ 是否会产生大量开销?

Java 2D 游戏多态性

c++ - 如何组织游戏引擎

objective-c - Swift 变量是原子的吗?