cocos2d-android开发基础篇(一)上

前端之家收集整理的这篇文章主要介绍了cocos2d-android开发基础篇(一)上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转载需要声明地址:http://www.jb51.cc/article/p-swpuvbhu-pw.html

想要熟练的使用该框架,必须要多练,千里之行始于足下,下面我来介绍一些基本的概念
先来介绍导演吧:
一(导演):
用来创建并且控制主屏幕的显示,同时控制场景的显示时间和显示方式。游戏中一般只有一个导演,控制游戏的开始、结束、暂停。
此类为单例模式调用标准方式:CCDirector::shareDirector()
继承关系如下:
CCDisplayLinkDirector→CCDirector→CCObject
功能如下:
1)初始化OpenGl会话。
2)设置OpenGl的一些参数和方式。
3)访问和改变场景以及访问cocos2d-x的配置细节。
4)访问视图。
5)设置投影和朝向。
CCDisplayLinkDirector继承CCDirector,一个可以自动刷新的导演类,只支持1/60、1/30、1/15三种动画间隔。
安卓版的是这样的:
// 创建导演;得到ccdirector对象;
CCDirector director = CCDirector.sharedDirector();
二(场景):
CCScene类是CCNode的子类,只添加一个属于其自己的特性:有自己的锚点,位置在屏幕中央。
继承关系:
CCTransitionScene→CCScene→CCNode→CCObject→CCCopying
CCTransitionScene类负责切换场景,它有很多子类都是用于切换场景的特效。
正常的无过渡场景,如果尚未建立场景(游戏中的第一个场景),使用runWithScene函数即可以使用相应场景;如果是替换场景,则使用replaceScene 函数替换相应的场景即可;而如果要使用场景间的切换效果,则需要使用相应的切换类
貌似也是单利模式;

<span style="color:#009900;">// CCScene(场景
  CCScene scene = CCScene.node();
  //下面这个是有过度场景的;
  CCScene scene2=CCTransitionScene.node();
</span>


<span style="color:#009900;">//场景切换:
//从init函数开始执行(使用动画效果切换)
  CCDirector.sharedDirector().replaceScene(CCTransitionScene.transition(1.2f,scene2));
  //缩放的形式切换场景的方法
  CCDirector.sharedDirector().replaceScene(CCShrinkGrowTransition.transition(1.2f,scene));
//不用下面的刷新,调用上面的方法,可以自动刷新的;如果太卡就不用动画;
直接切换。执行replaceScene的添加;

/*// 运行场景;
  director.runWithScene(scene);*/
CCDirector.sharedDirector().replaceScene(scene2);

</span>


//附录;

补充:(可能有重复)

CCTransitionFade,//渐隐效果

CCTransitionFadeTR,//碎片效果

CCTransitionJumpZoom,//跳动效果

CCTransitionMoveInL,//从左向右移动

CCTransitionPageTurn,//翻页效果

CCTransitionRadialCCW,//钟摆效果

CCTransitionRotoZoom,//涡轮效果

CCTransitionSceneOriented,//

CCTransitionShrinkGrow,//渐远效果

CCTransitionSlideInL,//左移

CCTransitionSplitCols,//上下移动

CCTransitionTurnOffTiles//

CCTransitionScene : CCScene 基类


CCRotoZoomTransition 旋转缩小切换

CCJumpZoomTransition 缩小后跳跃切换

CCSlideInLTransition 从左向右切换

CCSlideInRTransition 从右向左切换

CCSlideInTTransition 从上向下切换

CCSlideInBTransition 从下向上切换

CCShrinkGrowTransition 逐渐缩小切换

CCFlipXTransition 已x中间为轴平面式旋转切换

CCFlipYTransition 已y中间为轴平面式旋转切换

CCFlipAngularTransition 侧翻式旋转切换

CCZoomFlipXTransition 缩小后x为轴旋转切换

CCZoomFlipYTransition 缩小后y为轴旋转切换

CCZoomFlipAngularTransition 缩小侧翻式旋转切换

CCFadeTransition 逐渐变暗切换

CCCrossFadeTransition 逐渐变暗切换2

CCTurnOffTilesTransition 随机方块覆盖切换

CCSplitColsTransition 三条上下分开切换

CCSplitRowsTransition 三条左右分开切换

CCFadeTRTransition 小方块大方块式切换 左下到右上 眩!

CCFadeBLTransition 小方块大方块式切换 右上到左下 眩!

CCFadeUpTransition 百叶窗从下向上

CCFadeDownTransition 百叶窗从上向下

CCTransitionRotoZoom : CCTransitionScene 旋转进入

CCTransitionJumpZoom : CCTransitionScene 跳动进入

CCTransitionMoveInL : CCTransitionScene 从左侧进入

CCTransitionMoveInR : CCTransitionMoveInL 从右侧进入

CCTransitionMoveInT : CCTransitionMoveInL 从顶部进入

CCTransitionMoveInB : CCTransitionMoveInL 从底部进入

CCTransitionSlideInL : CCTransitionScene 从左侧滑入

CCTransitionSlideInR : CCTransitionSlideInL 从右侧滑入

CCTransitionSlideInB : CCTransitionSlideInL 从顶部滑入

CCTransitionSlideInT : CCTransitionSlideInL 从底部滑入

CCTransitionShrinkGrow : CCTransitionScene 交替进入

CCTransitionFlipX : CCTransitionSceneOriented x轴翻入(左右)

CCTransitionFlipY : CCTransitionSceneOriented y轴翻入(上下)

CCTransitionFlipAngular : CCTransitionSceneOriented 左上右下轴翻入

CCTransitionZoomFlipX : CCTransitionSceneOriented x轴翻入放大缩小效果(左右)

CCTransitionZoomFlipY : CCTransitionSceneOriented y轴翻入放大缩小效果(上下)

CCTransitionZoomFlipAngular :CCTransitionSceneOriented 左上右下轴翻入放大缩小效果

CCTransitionFade : CCTransitionScene 变暗变亮进入

CCTransitionCrossFade : CCTransitionScene 渐变进入

CCTransitionTurnOffTiles : CCTransitionScene 小方格消失进入

CCTransitionSplitCols : CCTransitionScene 竖条切换进入

CCTransitionSplitRows : CCTransitionSplitCols 横条切换进入

CCTransitionFadeTR : CCTransitionScene 小方格右上角显示进入

CCTransitionFadeBL : CCTransitionFadeTR 小方格左下角显示进入

CCTransitionFadeUp : CCTransitionFadeTR 横条向上显示进入

CCTransitionFadeDown : CCTransitionFadeTR 横条向下显示进入

场景(CCScene)为游戏中的演员(CCSprite)提供舞台,场景由导演(CCDirector)控制,游戏中的所有场景存放在一个栈中,有且只有一个场景可以处于激活状态。。直接replaceScene(即不适用动画效果)可以轻松的完成场景的切换,释放掉旧场景,加载新场景,几乎不需要时间的过渡,瞬间完成。。而通过动画效果切换场景就不是瞬时切换了,动画放得慢的时候很容易看出来,新场景慢慢的显示出来覆盖掉旧的场景,也就是说当新场景完全加载完毕的时候就场景才从内存中释放掉,这样是比较占用内存的,对于大型游戏来说,特别是切换两个大场景(对象和行为比较多而且复杂)的时候就不太合适了,所以这时候不推荐使用动画过渡效果

猜你在找的Cocos2d-x相关文章