【发布时间】:2016-03-27 07:05:23
【问题描述】:
我正在用 Spritekit 为 OSX 编写游戏。如何检查当前是否正在按下某个键?考虑这个例子:
//some code. this could be e.g. inside a game loop
if (/*is key 'w' pressed*/) {
// move forward
}
//some more code
Swift 和 Objective-C 解决方案都很有用。
注意:我对接收或处理该事件不感兴趣,因此我希望尽可能避免这种情况。我只需要检查当前是否按下了特定的键。
注意#2:这个问题不是链接问题的重复,因为它仅从接收“keyPressed”事件的角度解决问题(作为方法调用的参数) ,而不是从在别处执行检查以找出当前是否正在按下某个键的角度。换句话说,它并不能帮助我填写上面 if 语句中的条件。
我想我最终可能不得不维护一个布尔数组,每个键码一个,并在收到 keyDown 和 keyUp 事件时更新其内容。但我希望有一个更优雅的解决方案,因为这似乎是非常微不足道的功能。
【问题讨论】:
标签: objective-c swift macos sprite-kit keyboard