据说Cocos2dx场景切换的方法有32种:cocos2dx 常见的32种切换场景的动画
无需一一求证,只需要知道切换场景需要怎么做就行了。
作为导演CCDirector,切换场景的事情当然归它管了。
切换场景的接口如下:
CCDirector::sharedDirector()->replaceScene(cocos2d:CCScene * pScene);
所以,我们只要把需要切换的场景实例传进去就可以了。
CCScene * pScene = GameMain::scene(); CCDirector::sharedDirector()->replaceScene( CCTransitionProgressHorizontal ::create(1.0f , pScene));
其中 CCTransitionProgressHorizontal 可以用32种里面的任意一种去替换。
在场景类里面加上3个声明周期相关的函数:
void onEnter(); void onEnterTransitionDidFinish(); void onExit();//进行资源回收
后续会加上:
1 场景做成单例不用每次切换场景的时候通过 scene() 方法去重新new一个出来
2 切换场景的时候对场景内的资源进行回收
3 看看全局公用一个scene的可能性
遇到的问题:
新建类的图文件在别的类里面没法使用,表现为报错,找不到文件,可以通过在项目属性的包含路径里面添加对应类的路径就可以了。