欢迎转载:/fylz1125/article/details/8543759
上一篇文章写了场景切换效果的实现。大家知道实质上是实现的CCTransitionScene的onEnter函数,给自己要载入的场景加了一些动作而已。(文章最后面有代码地址哦)
不过我觉得还是有必要写个实例来演示一下。看图,懒的录视频了:
这是我写的一个类似滑动门效果。
[cpp]view plaincopyprint?classCCTransitionSlider:publicCCTransitionScene,publicCCTransitionEaseScene{ public: CCTransitionSlider(); virtual~CCTransitionSlider(); /**产生一个动作*/ virtualCCActionInterval*action(void); /**实质上的过渡实现*/ virtualvoidonEnter(); /**给动作添加变化速率*/ virtualCCActionInterval*easeActionWithAction(CCActionInterval*action); public: staticCCTransitionSlider*create(floatt,CCScene*scene); protected: //设置当前Scene是否在前面 //true则先绘制当前Scene再绘制载入Scene,false则相反 //即true时,第一次不会有过渡动画 virtualvoidsceneOrder(); }; //还是基于网格动画的实现。关于网格动画请看红孩儿大神的博客 classCC_DLLCCSlider:publicCCTiledGrid3DAction { public: boolinit(floatduration); virtualCCObject*copyWithZone(CCZone*pZone); /**实质上的网格动画实现*/ virtualvoidupdate(floattime); virtualvoidstartWithTarget(CCNode*pTarget); public: staticCCSlider*create(floatduration); protected: intm_nRows; CCSizem_winSize; };
其中的网格动画参考了红孩儿的文章,大家可以去看看。写的非常不错网格动画。
其实都挺简单的。
点击下载代码
如果觉得《cocos2d-x游戏开发(十二)场景切换:滑门效果》对你有帮助,请点赞、收藏,并留下你的观点哦!