Cocos2d-iphone - Sphero 集成

Posted

技术标签:

【中文标题】Cocos2d-iphone - Sphero 集成【英文标题】:Cocos2d-iphone - Sphero Integration 【发布时间】:2012-08-27 07:15:35 【问题描述】:

我正在尝试将 Sphero 连接到我正在构建的 Cocos2d 游戏。 Sphero 有一些很好的documentation 和示例,我可以运行示例代码。我从一个 cocos2d 项目开始,并添加了 Sphero 框架。我无法获得对球的基本命令。我相信问题出在这个函数上:

-(void)setupRobotConnection 

    /*Try to connect to the robot*/
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleRobotOnline) name:RKDeviceConnectionOnlineNotification object:nil];

    if ([[RKRobotProvider sharedRobotProvider] isRobotUnderControl]) 
         [[RKRobotProvider sharedRobotProvider] openRobotConnection];        


(其余代码在链接中)我相信它与NSNotificationCenter有关。我从 CCLayerColor 调用此代码,而不是像演示那样使用 UIViewController。我收到此错误:

2012-08-25 01:54:19.738 bgmmo[1414:2d07] ERROR - opening session failed as protocol com.orbotix.robotprotocol is not declared in Info.plist

(已在Sphero ios Forum 中回答)

【问题讨论】:

你确定setupRobotConnection方法被调用了吗? 是的,因为我添加了 onEnter 和 onExit 方法并在其中调用了 [self appDidBecomeActive:nil] 和 [self appWillResignActive:nil],所以正在调用这些方法。 【参考方案1】:

您需要将外部附件协议字符串添加到您的 Info.plist。为您的应用程序目标编辑 Info.plist 并为键“支持的外部附件协议”添加一个条目,这将创建一个数组输入。将“com.orbotix.robotprotocol”作为字符串项添加到数组中。

【讨论】:

以上是关于Cocos2d-iphone - Sphero 集成的主要内容,如果未能解决你的问题,请参考以下文章

Mac 问题上的 Sphero 连接

Sphero API 校准

使用 nodeJS 进行 Sphero 编程。如何球体继续前进?

不能在 Swift 中使用 Sphero 碰撞检测?

Cylon.js 和 Sphero

Sphero 开发人员的通用编码语言?