objective-c - plataforma - versiones de objective c
¿Cómo puedo recopilar información clave en una aplicación Cocoa de estilo videojuego? (1)
En su vista del juego, defina los métodos keyUp y keyDown:
@interface MyView : NSView
-(void)keyUp:(NSEvent*)event;
-(void)keyDown:(NSEvent*)event;
@end
@implementation MyView
-(void)keyUp:(NSEvent*)event
{
NSLog(@"Key released: %@", event);
}
-(void)keyDown:(NSEvent*)event
{
// I added these based on the addition to your question :)
switch( [event keyCode] ) {
case 126: // up arrow
case 125: // down arrow
case 124: // right arrow
case 123: // left arrow
NSLog(@"Arrow key pressed!");
break;
default:
NSLog(@"Key pressed: %@", event);
break;
}
}
@end
Consulte la documentación de NSView y NSEvent para obtener más información. Tenga en cuenta que los eventos keyDown y keyUp están realmente definidos en NSResponder , la súper clase para NSView.
Estoy pirateando una simple aplicación Cocoa para hacer que los bloques se muevan por la pantalla como un videojuego. Necesito detectar pulsaciones de teclas, pero no voy a tener campos de entrada de texto como los que tendría un cuadro de diálogo.
¿Cómo obtengo pulsaciones de teclas sin controles de texto? En particular, necesito obtener las teclas de flecha.