我们在学习cocos2dx的时候,可能经常要用到cocos2dx场景切换,但是使用和了解是不同的,我们经常会用的东西未必就真的了解,因此今天我们来看看cocos2dx场景切换的具体操作过程。

 一、介绍
Cocos2dx最酷的特性之一就是在两个不同场景之间提供了强有力的转换,例如:擦除效果,渐隐效果,放大,分裂。转换场景类继承自CCNode,Layer也一个样。

技术上来说,一个场景转换就是在展示并控制一个新场景之前执行一个转换效果。

 二、创建转换类

第一个参数是时间,以秒为单位,表示转换所用的时间。转换场景的语法如下所示:
  1. [cpp] view plaincopy
  2. CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(0.5,newScene));
一些变幻有自定义的参数;例如,渐隐变换可以设置渐隐颜色。
  1. [cpp] view plaincopy
  2. static CCTransitionFade* create(float duration,CCScene* scene, const ccColor3B& color);
非常容易就是实现了一个场景转换,如下是个例子:
  1. [cpp] view plaincopy
  2. CCScene *s = SecondPage::scene();
  3. CCDirector::sharedDirector()->setDepthTest(true);
  4. CCTransitionScene *transition = CCTransitionPageTurn::create(3.0f, s, false);

如果你运行一下,你将会有一个页面翻转的效果。就像是在一本书上翻页一样。

cocos2dx场景切换