Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
目标C如果声明,更改场景-ios应用程序_Ios_Objective C_If Statement_Cocos2d Iphone - Fatal编程技术网

目标C如果声明,更改场景-ios应用程序

目标C如果声明,更改场景-ios应用程序,ios,objective-c,if-statement,cocos2d-iphone,Ios,Objective C,If Statement,Cocos2d Iphone,好的,我还在学习中,我想在游戏的结尾添加一个新的场景。当前,在某个级别结束后,会有一个“下一步”按钮将您带到下一个级别。在最后一个阶段,“下一步”按钮原本什么都不做,只是有一个“返回”功能。我试图使它,如果当前阶段是最后一级,下一个按钮(nextAction)将加载下一个场景“EndLayer”。以下是我所拥有的,但它不起作用: - (void) nextAction { if (g_SoundFlag) { [sd_button play]; } _cl

好的,我还在学习中,我想在游戏的结尾添加一个新的场景。当前,在某个级别结束后,会有一个“下一步”按钮将您带到下一个级别。在最后一个阶段,“下一步”按钮原本什么都不做,只是有一个“返回”功能。我试图使它,如果当前阶段是最后一级,下一个按钮(nextAction)将加载下一个场景“EndLayer”。以下是我所拥有的,但它不起作用:

- (void) nextAction {
    if (g_SoundFlag) {
        [sd_button play];
    }
    _clickedButtonIndex = 1;
    NSInteger currentStage = [AppSettings getCurrentStage];

    if (currentStage >= 24) {
        //return;
        NSString *r = @"CCTransitionFade";
        Class transion = NSClassFromString(r);
        [[CCDirector sharedDirector] replaceScene:[transion transitionWithDuration:0.3 scene:[EndLayer scene]]];
    }
    [[CCTextureCache sharedTextureCache] removeUnusedTextures];
    [AppSettings setCurrentStage: currentStage+1];
    [[CCDirector sharedDirector] replaceScene:[Game scene]];
}

在第二次
结束时,如果
不返回
,那么
replaceSecene:
方法将被调用两次;一旦到达,然后紧跟在
之后(如果
)。这是故意的吗?不是故意的,不是。我有点不确定如何组织这个。return应该在第二个if语句的末尾吗?A
return
那里可以工作,是的;它将防止最后的3个语句发生。或者,您可以添加一个
else
,并将最后3条语句放在其中(这样您就不需要
return
)。