我正在编写一个应用程序,这将是一个基本的视频游戏,但keyup:(nsevent)和keydown:(nsevent)方法无法执行。
这是我的代码:

-(void)keyUp:(NSEvent*)event {
    NSLog(@"Key %@", event);
}

-(void)keyDown:(NSEvent*)event {
    switch( [event keyCode] ) {
        case 126:
        case 125:
        case 124:
        case 123:
   NSLog(@"Arrow key pressed!");
   break;
        default:
   NSLog(@"Key %@", event);
   break;
    }
}

我确定它在nsresponder的一个子类中(尽管它在nsopenglview中,但这会影响它吗?)另外一个我觉得没什么问题。任何帮助都是非常感激的。谢谢:)

最佳答案

是否实现了nsresponder方法acceptsfirstresponder以返回yes?

- (BOOL)acceptsFirstResponder {
    return YES;
}

10-07 23:00