【发布时间】:2011-05-31 10:52:04
【问题描述】:
我正在使用 Cocos2d,它是一个用于创建 iPhone 游戏的框架。 最近他们发布了 Mac 支持,我正在为 Mac 制作一个简单的游戏。
但是,我对如何检查 Mac 键盘上何时按下 X 键一无所知。
目标-C
【问题讨论】:
标签: objective-c events macos keyboard cocos2d-iphone
我正在使用 Cocos2d,它是一个用于创建 iPhone 游戏的框架。 最近他们发布了 Mac 支持,我正在为 Mac 制作一个简单的游戏。
但是,我对如何检查 Mac 键盘上何时按下 X 键一无所知。
目标-C
【问题讨论】:
标签: objective-c events macos keyboard cocos2d-iphone
你应该这样做:
self.isKeyboardEnabled = YES;
然后您可以使用接收按键消息:
-(void) ccKeyUp:(NSEvent*)event;
-(void) ccKeyDown:(NSEvent*)event;
应该这样做。
请参阅此处了解更多信息:
【讨论】:
这是一个例子:
-(id) init
{
if( (self=[super init]))
{
.
.
.
self.isKeyboardEnabled = YES ;
.
.
.
}
}
- (void) ccKeyDown : (NSEvent*) KeyDownEvent
{
NSString *str_1 = [KeyDownEvent characters];
unichar ch = [str_1 characterAtIndex:0];
if ( ch == 97) // if 'a' Button Pressed Down
{
if ( canMoveRight == NO)
{
canMoveLeft = YES ;
}
}
else if ( ch == 100 ) // if 'd' Button Pressed Down
{
if ( canMoveLeft == NO)
{
canMoveRight = YES ;
}
}
}
- (void) ccKeyUp : (NSEvent*) KeyDownEvent
{
NSString *str_1 = [KeyDownEvent characters];
unichar ch = [str_1 characterAtIndex:0];
if ( ch == 97) // if 'a' Button Released
{
canMoveLeft = NO ;
}
else if ( ch == 100 ) // if 'd' Button Released
{
canMoveRight = NO ;
}
}
PS : 字符代码是基于它们的 ASCII 码。
【讨论】: