cocos2d-x 实现场景的切换

前言:

我们在玩游戏的时候肯定有非常多的页面
比如地图的切换 副本的进入 等等
每一个都是一个场景
今天我们来实现一下场景的切换

我这里准备3个场景

  • 进入游戏时的场景
  • 等待加载的场景
  • 开始游戏的场景

如下图:
cocos2d-x 实现场景的切换

切换场景需要借助我们的导演类 Director
cocos2d-x 实现场景的切换

replaceScene(scene) 就是切换场景

我写了一个场景管理类 管理三个场景 可以进行自由的切换
cocos2d-x 实现场景的切换

  • loadScene //加载场景
  • uiScene //刚进入游戏场景
  • gameScene //开始游戏时场景

然后下面三个方法就是 进行场景切换的

cocos2d-x 实现场景的切换

就是创建一个场景 然后把自己写的 layer 类添加到里面 然后调用导演类进行切换

我写了3个场景类
我这里拿 UILayer 举个例子

cocos2d-x 实现场景的切换
这里写了一个 SceneManage 的指针来实现在函数内直接进行场景的切换

init() 写自己的实现
比如 点击开始按钮 进入加载资源场景
menuItemCallBack 在里面 直接调用 场景管理类的 goLoadScene();就可以
cocos2d-x 实现场景的切换

其他的2个切换场景也一样,在自己的逻辑里面调用场景管理类的相关的方法

在AppDelegate里面创建场景管理类 然后直接调用第一个场景就可以

cocos2d-x 实现场景的切换
下面的启动场景函数director->runWithScene(); 也就不需要了

进度条的实现我之前的文章有下

人物的移动 我后面会写一下