我正在将我的 Cocos2D 游戏移植到 Leap Motion。我已经实现了控制,但提交指南的一部分规定您必须在设备连接或未连接时提供视觉指示。
告诉您设备已断开连接的 Leap 代码部分是这样的(我添加了一些我遇到问题的自定义代码,只有 NSLog 是标准的):
- (void)onDisconnect:(NSNotification *)notification
{
CCDirector *director = [CCDirector sharedDirector];
CGSize winSize = [director winSize];
CCSprite *connect1 = [CCSprite spriteWithFile:[AssetHelper getDeviceSpecificFileNameFor:@"connecttest.png"]];
connect1.position = CGPointMake(winSize.width / 2, winSize.height / 2);
[self addChild:background2 z:2];
NSLog(@"Disconnected");
}
如果我启动应用程序一切正常,但断开 Leap 并不会显示图像。Z 位置正确,我知道该功能有效,因为我在日志中看到“断开连接”,如果我用终止应用程序功能替换 CCSprite 代码,游戏就会退出。
我也尝试用场景加载替换代码。移除控制器将推送到另一个场景,但这不是最优雅的解决方案,而且在启动时也不会这样做。
我怀疑这可能是一个时间问题,图像出现然后很快消失。
我真的不知道。我需要做的是在设备断开连接时出现图像,然后在重新连接时消失。
有什么线索吗?