我正在为Spritekit写OSX游戏。如何检查一个键是否被按下?考虑这个例子:如何检测OS X上是否按下了某个键?
//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语句中的条件。
我想我可能不得不最终维护一个布尔值数组,每个keycode一个,并更新其内容,因为我收到keyDown和keyUp事件。但我希望能有一个更优雅的解决方案,因为这看起来非常简单。