ios - 从 SKScene 获取命令键

标签 ios objective-c sprite-kit

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

我们从 ViewController 获取命令键:

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

但是游戏逻辑都在SKScene中,从ViewController中呈现出来……而且有多个SKScene……场景如何从ViewController中获取命令呢?或者我们需要进行键盘轮询?

最佳答案

您可以通过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];

关于ios - 从 SKScene 获取命令键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58377053/

相关文章:

ios - 解析 UICollectionView 的查询不工作

ios - 无法识别的选择器发送到类运行时错误

swift - 简单的 SpriteKit 游戏性能问题 - Swift

ios - SKPhysicsBody 在错误的位置

ios - 在Objective-C中创建后台循环例程的更好方法是什么?

ios - 快速检测音量变化

ios - 如何通过Xcode 5为iOS 6.1部署iPad应用

iphone - 错误 : can't allocate region in iOS

ios - SKSpriteNode 的 HitTest

objective-c - 如何在 Objective-C 中创建像 pinterest 或 piictu 这样的自定义标签栏