2016-12-17 141 views
0

我的項目是一個cocos2d遊戲項目,但是我爲用戶添加了一個uiviewcontroller作爲loginview。我的項目中的第一個場景是標誌顯示場景,之後它將進入菜單屏幕,但我需要傳遞給我的uiviewcontroller(登錄)而不是菜單屏幕,我嘗試了很多方法但崩潰。頁面從cocos2d場景導航到Uiviewcontroller

-(id) init 

{

if((self=[super init])) { 
    CCSprite *sprBack = [CCSprite spriteWithFile:@"logo.png"]; 
    [sprBack setPosition:ccp(SCREEN_WIDTH/2, SCREEN_HEIGHT/2)]; 
    [self addChild:sprBack]; 

    [self schedule:@selector(logoTimer:) interval:3]; 
} 

return self; 

}

-(void) logoTimer: (ccTime) dt 

{

[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:0.5f scene:[TitleLayer node ] ]]; 

}

我UIView控制器名稱是loginviewcontroller。

我需要通過現場像這樣

[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:0.5f scene:[loginviewcontroller node ] ]]; 

,但顯示的錯誤,我累了很多方法,但unfortunalty什麼的意志給了我正確的解決方案。

還有一件事loginviewcontroller不是節點,它的uiviewcontroller。 我也試過這種方法,但它在標誌場景中發生,沒有頁面轉換髮生。

-(void) logoTimer: (ccTime) dt{ 

    UIViewController *cocos = [[LogoViewController alloc] init]; 
    [cocos.navigationController dismissViewControllerAnimated:YES completion:nil]; 
[cocos.navigationController popViewControllerAnimated:YES]; 



} 

請幫幫我。

回答

1

更改並將初始視圖控制器設置爲didFinishLaunchingWithOptions中的登錄視圖控制器,並將遊戲引擎的設置移動到newMethod,LoginViewController中。遊戲的設置會創建一個新的視圖控制器,它將打開當前的菜單屏幕。如果證書成功,請致電newMethod,然後按下在遊戲設置中實例化的視圖控制器,然後彈出以返回登錄。

+0

@編碼器,請讓我知道這種方法是否對您有幫助。 – bunty

+0

海兄弟,,其實我dint讓你,,,我仍然在嘗試一個解決方案... – ICoder

+0

@ bunty我的問題是,第一視圖是標誌視圖,它顯示屏幕的啓動畫面,然後它必須去登錄視圖是一個視圖控制器。 – ICoder