Это сделано для реализации игрового контроллера на основе клавиатуры. Стрелки влево / вправо заставляют персонажа ходить. shift + left / right заставляет персонажа бежать.
Вот код, который я использую до сих пор:
- (void)keyDown:(NSEvent *)event{
if ([event modifierFlags] & NSShiftKeyMask) {
NSLog(@"Shift key pressed");
}
// logic follows
}
Это нормально работает, если Shift нажимается до нажатия клавиши со стрелкой. Но если нажата клавиша со стрелкой, и вам нужно ускориться, нажатие Shift ничего не вызовет ...
Итак, я вижу такой ответ: https://stackoverflow.com/a/420691/987818
Но я не понимаю, где используется этот NSResponder. Для информации я использую Cocos2D (игровой движок objc).
спасибо за любые подсказки :-) J.