从SKScene获取命令密钥

时间:2019-10-14 12:40:01

标签: ios objective-c sprite-kit

我想为我的SpriteKit游戏支持键盘,但这是问题所在:

我们从ViewController获得了命令键:

- (NSArray *)keyCommands {
    return @[[UIKeyCommand keyCommandWithInput:@" " modifierFlags:0 action:@selector(fire)]];
}

但是游戏逻辑全部在SKScene中,由ViewController呈现...并且有多个SKScene ...场景如何从ViewController中获取命令?还是我们需要进行键盘轮询?

1 个答案:

答案 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];