Получить командный ключ от SKScene - PullRequest
0 голосов
/ 14 октября 2019

Я хотел поддержать клавиатуру для моей игры SpriteKit, но вот проблема:

Мы получаем командные клавиши от ViewController:

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

Но логика игры все в SKScene,представлены из ViewController ... и есть несколько SKScene ... как сцена получает команду от ViewController? Или нам нужно сделать опрос клавиатуры?

1 Ответ

1 голос
/ 14 октября 2019

Вы можете отправить сообщение по 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];
...