Я пишу игру в 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.
Я думаю, что мне, возможно, придется поддерживать Array из булевых, по одному для каждого кода и обновлять его содержимое, когда получаю события keyDown и keyUp. Но я надеялся на более элегантное решение, поскольку это кажется довольно тривиальной функциональностью.