2016-12-17 110 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