2012-01-16 44 views
0

我寫這樣波紋管的cocos2d遊戲中心和leaderboardViewControllerDidFinish

- (void)leaderboard { 
    GKLeaderboardViewController *leaderboardController = [[[GKLeaderboardViewController alloc] init] autorelease]; 
    currentLeaderBoard = kLeaderboardID; 
    if (leaderboardController != NULL) 
    { 
     leaderboardController.leaderboardDelegate = self; 
     leaderboardController.category = currentLeaderBoard; 
     leaderboardController.timeScope = GKLeaderboardTimeScopeAllTime; 
     tempVC = [[UIViewController alloc] init]; 
     [[[[CCDirector sharedDirector] openGLView] window] addSubview:tempVC.view]; 
     [tempVC presentModalViewController:leaderboardController animated:YES]; 
    } 
} 


- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController 
{ 
    [viewController dismissModalViewControllerAnimated:YES]; 
    [viewController release]; 
} 

具有象波紋管的警告代碼:

Assigning to 'id<GKLeaderboardViewControllerDelegate>' from incompatible type 'HelloWorldLayer *' 

它也顯示在日誌查看:

warning: class 'HelloWorldLayer' does not implement the 'GKLeaderboardViewControllerDelegate' protocol 

我計算了解它的原因。即使當遊戲中心排行榜出局時,菜單也會失效。 我計數繼續遊戲一切都變成禁用。

對於編輯後的問題我自己解決了問題的第二部分。 我已經在另一個視圖中將排行榜視圖轉移了。

回答

0

你應該去的類接口,並添加GKLeaderboardViewControllerDelegate來實現的協議列表:

@interface HelloWorldLayer : CCLayer <GKLeaderboardViewControllerDelegate> 

我不明白這個問題的休息,可以套用?

+0

謝謝.......這是不同的幫助, – 2012-01-17 02:48:23