2011-07-20 15 views
0

残念ながら、私はUIViewControllerをうまく理解していませんし、cocos2dシーンとどのようにマッシュアップしているのかも分かりません。しかし、私はiPhone上で正常に自分のcocos2d(ランドスケープオンリー)ゲームの上に標準的なGame Centerのリーダーボードビューを読み込むことができます。しかし、私のゲームは普遍的なアプリであり、iPadで試してみると、ゲームセンタービューは縦向きに読み込まれ、サイズの約半分(画面の1/4しか満たされない)になり、中央に配置されません。私がデバイスを回転させると、Game Centerのビューは景観に向かうが、実際には伸びてしまって、iPad用に設計されていないように見えます。GKLeaderboardViewControllerを使用しているときのオリエンテーションの問題

誰にもアドバイスがありますか?

- (void) showLeaderboard 
{ 
    if(![MyAppDelegate isGameCenterAPIAvailable]) 
     return; 

    if ([GKLocalPlayer localPlayer].isAuthenticated == YES) 
    { 
     CGSize screenSize = [[UIScreen mainScreen] bounds].size; 
     tempVC = [[RootViewController alloc] init]; 
     GKLeaderboardViewController *leaderboard = [[[GKLeaderboardViewController alloc] init] autorelease]; 
     if (leaderboard != NULL) 
     { 
      leaderboard.leaderboardDelegate = self; 
      [[[CCDirector sharedDirector] openGLView] addSubview:tempVC.view]; 

      // Pause game 
      [[CCDirector sharedDirector] pause]; 

      [tempVC presentModalViewController:leaderboard animated: NO]; 
      leaderboard.view.transform = CGAffineTransformMakeRotation(CC_DEGREES_TO_RADIANS(0.0f)); 
      [leaderboard.view setCenter:CGPointMake(screenSize.height/2, screenSize.width/2)]; 
      leaderboard.modalPresentationStyle = UIModalPresentationCurrentContext; 
     } 
    } 
} 

- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController 
{ 
    [tempVC dismissModalViewControllerAnimated: YES]; 
    [tempVC.view.superview removeFromSuperview]; 
    [tempVC release]; 
    tempVC = nil; 

    // Resume game 
    [[CCDirector sharedDirector] resume]; 
} 

答えて

0

Implementing iAds in Cocos2d Applicationをご覧ください。このチュートリアルで

[self.view addSubview:self.bannerView]; 

、addSubviewのUIViewオブジェクトRootViewController.viewに、その代わりにEAGLViewの、cocos2dアプリケーションテンプレートです。

+0

この回答は役に立ちました。ただし、iOS 4.3.x以降、iPad用の標準のGame Centerリーダーボードビューはないことが判明しました – jonsibley

関連する問題