我可能在想這個問題,但我一直在困擾它,所以我想我會伸出一些建議/幫助。使用GameKitHelper委託問題 - cocos2d
我使用的是GameKitHelper(http://www.learn-cocos2d.com/tag/gamekithelper/),到目前爲止,它非常有幫助。所以,我在我的「MainMenu的」與實現的協議初始化的幫手,等:
@interface MainMenu : CCLayer <GameKitHelperProtocol> {
...
GameKitHelper *gkHelper;
}
在主菜單中的代碼,我有這樣的:
gkHelper = [GameKitHelper sharedGameKitHelper];
gkHelper.delegate = self;
[gkHelper authenticateLocalPlayer];
似乎相當兩岸前進。事實上,它的工作原理與我預期的完全相同。我有它想要在那裏的方法(即使大多數沒有與它們相關的代碼(但?))。我的問題是我真的想開始我的比賽。所以,我使用的onMatchFound()開始遊戲,基本的工作原理:
-(void) onMatchFound:(GKMatch*)match
{
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.2f scene: [[MultiplayerLoading initWithData:Multiplayer withMultiplayerType:gameTypeToPlay andInitiator:false] scene]]];
}
我的問題是,當我試圖玩遊戲,在MainMenu的不是遊戲,接收刪除方法火災上課,所以事情沒有被正確計算。 當onMatchFound觸發時,是否有辦法將控件從主菜單傳遞到遊戲圖層?
希望這給了足夠的信息,如果不是,請告訴我。
謝謝大家!
我很欣賞人們用我的代碼挑剔!我會嘗試這些更改並報告回來!謝謝! – SlackerCoder
好,所以我改變了你的說法,但現在當接收到類(MultiplayerLoading)中的數據時,它崩潰了:'NSInvalidArgumentException',原因:'+ [MultiplayerLoading onReceivedData:fromPlayer:]:無法識別的選擇器發送到類 它嘗試在開始播放前接收數據包,但在此時崩潰......想法? – SlackerCoder
看來你需要實現錯誤信息告訴你的@selector。 – LearnCocos2D