我正在尝试为使用SpriteBuilder创建的游戏制作排行榜。我有以下代码。
if (gameCenterController != nil)
{
gameCenterController.gameCenterDelegate = self;
gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
UIViewController *vc = self.view.window.rootViewController;
[vc presentViewController: gameCenterController animated: YES completion:nil];
}
然而,在UIViewController * vc行上,我一直收到以下错误,“在'MainScene *'类型的对象上找不到”属性'视图。
我一直在寻找几个小时,有没有人知道这方面的解决方案?
答案 0 :(得分:3)
MainScene 没有view
属性,因为它不是UIViewController
。
Cocos2d应用程序中只有一个UIViewController
,即CCDirector
。
如果要呈现视图控制器,则需要从CCDirector
:
[[CCDirector sharedDirector] presentViewController:vc animated:YES completion:nil];
答案 1 :(得分:0)
我实际上回答了我自己的问题! :d
UIViewController *vc = [[[[CCDirector sharedDirector] view] window] rootViewController];