cocos2dで、leaderboardを表示 | mobahustle blog

mobahustle blog

担当が好き勝手に書いてます。

ViewController周りが違うCocos2d。

通常は、

GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
if (leaderboardController != NULL)
{
leaderboardController.category = @"grp.hogehoge";
leaderboardController.timeScope = GKLeaderboardTimeScopeAllTime;
leaderboardController.leaderboardDelegate = self;
[self presentModalViewController: leaderboardController animated: YES];
}

という感じで書けば呼び出せますが、

selfがViewControllerでないため使えません。


viewcontrollerは、[UIApplication sharedApplication].keyWindow.rootViewControllerで
参照できるみたいです。

従って、前のソースは、

[[UIApplication sharedApplication].keyWindow.rootViewController presentModalViewController:leaderboardController animated: YES];

と書き換えると無事動作しました。ニコニコ