目标C如果声明,更改场景-ios应用程序
好的,我还在学习中,我想在游戏的结尾添加一个新的场景。当前,在某个级别结束后,会有一个“下一步”按钮将您带到下一个级别。在最后一个阶段,“下一步”按钮原本什么都不做,只是有一个“返回”功能。我试图使它,如果当前阶段是最后一级,下一个按钮(nextAction)将加载下一个场景“EndLayer”。以下是我所拥有的,但它不起作用:目标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
- (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语句的末尾吗?Areturn
那里可以工作,是的;它将防止最后的3个语句发生。或者,您可以添加一个else
,并将最后3条语句放在其中(这样您就不需要return
)。