我想为我的SpriteKit游戏支持键盘,但这是问题所在:
我们从ViewController获得了命令键:
- (NSArray *)keyCommands {
return @[[UIKeyCommand keyCommandWithInput:@" " modifierFlags:0 action:@selector(fire)]];
}
但是游戏逻辑全部在SKScene中,由ViewController呈现...并且有多个SKScene ...场景如何从ViewController中获取命令?还是我们需要进行键盘轮询?
答案 0 :(得分:1)
您可以通过NSNotification
在SKScene
中添加观察者,
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(selectorMethod:)
name: @"NOTIFICATION_NAME"
object:nil];
发布通知表单UIViewController
,
NSDictionary *userInfo = @{ @"Key": @"Value" };
[[NSNotificationCenter defaultCenter] postNotificationName: @"NOTIFICATION_NAME" object:nil userInfo:userInfo];