Cocos2d Cross-Platform Game Development Cookbook(Second Edition)
上QQ阅读APP看书,第一时间看更新

Transitioning between scenes

We will discuss how to transition between scenes in this section.

Getting ready

Most of the work is already done in the previous section, so let's dive right into creating the code. However, as we want to transition into GameplayScene, we have to import the class into the MainScene.m file, as follows:

#import "GameplayScene.h"

How to do it…

Next, add the following highlighted code to the playBtnPressed function in the MainScene.m file:

-(void)playBtnPressed:(id)sender{

  CCLOG(@"play button pressed");

 [[CCDirector sharedDirector] replaceScene:
 [[GameplayScene alloc] 
 initWithLevel:@"1"]];
}

How it works…

Now, when we press the play button, GameplayScene will load, display the GameplayScene text, and show that it has loaded level 1.

There's more…

We added a reset button and a function that will take us to MainMenu in GameplayScene. So, we will change the resetButtonPressed function in GameplayScene.m as follows so that when we press the reset button, the scene will transition to the MainMenu scene:

-(void)resetBtnPressed:(id)sender{

  CCLOG(@"reset button pressed");

  [[CCDirector sharedDirector] 
    replaceScene:[[MainScene alloc] init]];

}

Run and press the reset button to go back to the main menu now.