cocos2d-x 提升篇 (15) demo大致描述的功能介绍

来源:互联网 发布:perl 数组查找字符串 编辑:程序博客网 时间:2024/05/20 10:12

这章结合几个辅助类进行介绍,

BaseTest.cpp controller.cpp testBasic.cpp这几个类关系到后面的所有测试项。

首先从controller.cpp说起,因为它定义了TestController类

TestController是一个单例,定义了一个静态成员变量,其实并没有做什么,主要是在构造函数中,

_rootTestList = new (std::nothrow) RootTests;
新增加一个RootTests的类,后面的所有cases都是继承会继承这个类。

这个类在构造函数中通过addTest方法加入所有需要测试的方法。

 addTest("Node: Scene3D", [](){return new (std::nothrow) Scene3DTests(); });        addTest("ActionManager", [](){return new (std::nothrow) ActionManagerTests(); });        addTest("Actions - Basic", [](){ return new (std::nothrow) ActionsTests(); });        addTest("Actions - Ease", [](){return new (std::nothrow) ActionsEaseTests(); });
下面这张图显示所有的Case选项

在找的过程中也发现很多都在抨击cocos2s-x怎么的不好,兼容性多么差。

我只想说一句人家开源就已经很不错的,是不是说开源就等于差呢?也不是这样说,android开源就很牛啊,代码风格很牛,而且几年以前的接口至今都没有什么变化,可是人家有个干爹google罩着,有钱请世界上最好的程序员。不管怎么说,这个开源感觉已经是尽力了。

在互联网这个行业谁也不敢放松,很容易被追赶,当然我也没说既然不好,那就不用啊。所以说还是以一个很平和的心态看待cocos2d-x吧,怎么说现在的手机大部分都是用这个写的,能满足用户的需求。

老是盯着3D VR也不是事,没有2d的基础,个人认为学习3D还是很吃力,那些图形学的知识需要有吧。当然很多人是已经接触完2D,所以打算从这方面入手,往更高更远的方向开始爬。

找了一篇比较好的博客就不再重复写了。

http://blog.csdn.net/zhanghefu/article/details/38418261

因为我也没有看具体的代码而且有些东西的接口已经,所以暂时只是作为参考。

动作(Actions)
move移动:moveto/moveby 从一个位置移动到另外一个位置 从一个位置移动多少数量级
rotate旋转:rotateto/rotateby 从一个角度旋转到另外一个角度 旋转多少个数量级
scale缩放:scaleto/scaleby 放大缩小到什么程度
skew倾斜:skewto/skewby 倾斜到什么程度
rotationalskew旋转着倾斜:rotationalskewto/rotationalskewby 旋转着倾斜
Skew+scale+rotate倾斜+缩放+旋转
jump跳跃:jumpto/jumpby 跳跃到某个位置,或者以某个数量接跳跃
cardinalspline,catmullrom沿着某个路径移动:沿着某个图形移动,可以是规则的图形也可以是不规则图形
bezier两个精灵重叠在一起一个在前面,一个在后面:bezierto/bezierby
blink一闪一闪的效果
fadein/fadeout淡入淡出效果
tint色彩:tintto/tintby 改变小精灵的色彩
animation动画:让小精灵呈现动态效果
sequence:move+rotate:移动加旋转序列
sequence:move+rotate+scale+removeself:移动,旋转,缩放,让自己消失
spawn:jump+rotate:一边跳一边旋转,向翻跟斗一样
reverse an action:执行一个动作相反的动作
delaytime延迟时间:move+delay+move移动+延迟一段时间+移动
repeat/repeatforever:重复执行或者永久重复执行动作
reverse a sequence:反向执行一个序列
orbit camera:轨道摄像机
pauseresumeactions:暂定和继续actions


过渡(transitions)
所谓过渡也就是第一个场景如何过渡到第二个场景,可以添加很多效果。
CCTransitionProgressInOut:一个场景以一个长方形的形式逐渐变大,然后显示另外一个场景。
CCTransitionProgressOutIn:一个场景逐渐变小,直到消失,是通过一个大长方形到一个小长方形消失的,然后组件显示第二个场景,先显示的是第二个场景外围的区域,然后再显示第二个场景里面区域。
CCTrasitionCrossFade:一个场景渐出,一个场景渐入
TransitionPageForward:向前翻页效果
TransitionPageBackward:向后翻页效果
CCTransitionFadeTR:第一个场景从左下角开始淡出一直到右上角,第二个场景从左下角开始淡入一直到右上角
CCTransitionFadeBL:第一个场景从右上角开始淡出一直到左下角,第二个场景从右上角开始淡入一直到左下角
CCTransitionFaceUp:第一个场景从底部开始淡出一直到顶部,第二个场景从底部开始淡入一直到顶部
CCTransitonFadeDown:第一个场景从顶部开始淡出一直到底部,第二个场景从顶部开始淡入一直到底部
CCTransitionTurnOffTiles:以随机的顺序关闭掉外出的场景的砖瓦
CCTransitionSplitRows:奇数行向左出,偶数行向右出
CCTransitionSplitCols:奇数行向下出,偶数行向上出
CCTransitionFade:出去的场景淡出,屏幕变黑,进来的场淡入
FadeWhileTransition:出去的场景淡出,屏幕变白,进来的场淡入
FlipXLeftOver:沿着X从左翻转
FlipXRightOver:沿着X从右翻转
FlipYUpOver:沿着Y从上,翻转
FlipYDownOver:沿着Y从下翻转
FlipAngularLeftOver:从某个角度在左边翻转场景
FlipAngularRightOver:从某个角度在右边翻转场景
FlipAngularUpOver:从某个角度在上边翻转场景
FlipAngularDownOver:从某个角度在下边翻转场景
ZoomFlipXLeftOver:沿着X从左翻转,而且有放大缩小效果
ZoomFlipXRightOver:沿着X从右翻转,而且有放大缩小效果
ZoomFlipYUpOver:沿着Y从上翻转,而且有放大缩小效果
ZoomFlipYDownOver:沿着Y从下翻转,而且有放大缩小效果
ZoomFlipAngularLeftOver:沿着某个角度从左翻转,而且有放大缩小效果
ZoomFlipAngularRightOver:沿着某个角度从右翻转,而且有放大缩小效果
CCTransitionShrinkGrow:缩小出去的场景,放大进来的场景
CCTransitionRoToRoom:一边旋转一边缩放
CCTransitionMoveInL:从左边进入
CCTransitinMoveInR:从右边进入
CCTransitionMoveInT:从上边进入
CCTransitionMoveInB:从下边进入
CCTransitionSlideInL:从左边滑动着进入,滑动的过程中把第一个场景推出去了
CCTransitionSlideInR:从右边滑动进入
CCTransitionSlideInT:从上边滑动进入
CCTransitionSlideInB:从下边滑动进入
CCTransitionJumpZoom:跳动加缩放


进度动作actionprogress
参考ActionsProgressTest
SpriteProgressToRadial:精灵沿着径向执行进度动画
SpriteProgressToHorizontal:精灵沿着水平方向执行动画
SpriteProgressToVertical:精灵沿着垂直方向执行动画
SpriteProgressToRadialMidpointChanged:精灵沿着中点改变时的那个径向执行进度动画
SpriteProgressBarVarious:精灵执行进度条动画时,精灵所在的那个条不断变化
SpriteProgressBarTintAndFade:精灵执行进度条动画时,颜色变化,并且有淡出效果
SpriteProgressWithSpriteFrame:并不仅仅是精灵执行动画,精灵所在的整个frame执行动画效果,包括精灵所在的那个frame旁边的填充


特效effects
TurnOffTiles: 以随机的顺序关闭tiles
WavesTiles3D:3D效果摇摆tiles
JumpTiles3D:3D效果tiles跳跃起来,这样就能看到每个tile下面的背景了
SplitRows:将整个场景分成若干行,奇数行往左,偶数行往右
SplitCols:将整个场景分成若干列,奇数列往下,偶数列往上
PageTurn3D:3D翻页效果
Shaky3D:整个页面震动效果
Waves3D:整个页面波动效果
FlipX3D:3D水平方向翻转效果
FlipY3D:垂直方向翻转效果
Lens3D:3D棱镜效果
Ripple3D:3D波纹效果
Liquid:液体晃动效果
Waves:波动效果
Twirl:转动效果
ShakyTiles3D:tiles震动3D效果
ShatteredTiles3D:肢离破碎的tiles3D效果
ShuffleTiles:将所有的tiles混乱排列的效果
FadeOutTRTiles:tiles从左下角向右上角淡出
FadeOutBLTiles:tiles从右上角向左下角淡出
FadeOutUpTiles:tiles从下向上淡出
FadeOutDownTiles:tiles从上向下淡出


点击和移动(ClickAndMove)
ClickAndMoveTestScene:每当点击鼠标左键时,小精灵更随着我们的鼠标移动


整个世界都在旋转(RotateWorld)
RotateWorldTest:整个世界都在旋转,包括小精灵,整个页面,页面里分块旋转


粒子运动组成各种效果(Particle)
下雪,下雨,烟花效果灯。


精灵缓入缓出效果(SrpiteEaseInOut)
EaseIn:缓入
EaseOut:缓出


精灵运动轨迹(MotionStreak)
HighQualityMode/FastMode


绘制原始的各种几何形状(DrawPrimitives)
绘制三角形,曲线,多边形等等


节点(Node)
这个到底是什么意思,不太懂


触碰测试(Touches)
每当小精灵触碰到一个东西时,做一些事情


菜单(Menu)
在屏幕上可以显示若干个菜单项,点击之后可以是一个菜单,也可以做一些事情,比如返回到主菜单,退出游戏,进行一些设置


动作管理器(ActionManager)
通过动作管理器对精灵如何执行一些列动作进行管理。
LogicTest:先执行什么动作再执行什么动作的逻辑进行控制
PauseTest:让一个动作暂停
ResumeTest:继续一个动作
RemoveTest:移除一个动作,从而让Grossini不会碰撞墙壁


层(Layer)
LayerRGBA:两个精灵分别在不同的层,改变每个层的RGBA,从而知道他们是不同的层


场景(Scene)
pushScene()/popScene/popSceneToRoot 这些是常用的在不同的Scene之间切换的方法,所有的场景存放在一个栈之中。


Parallax:Parent and 3 childrens
搞不懂的东西


地图(TiledMap)
用地砖堆砌起来的地图相关展示


时间间隔(Interval)
精灵执行动作的时间间隔,比如从一个地方跳跃到另外一个地方的时间间隔如何控制


标签(Label)
如何使用标签展示数据,以及随着时间的推移更新标签的值


文本输入框(TextInput)
不同的文本输入框,有不同的缺省行为
CCTextFiledTTF:缺省行为是每输入一个字符就跳动一下,并且可以限制字符个数
TextFieldTTF:缺省行为什么也没干


精灵(Sprite)
精灵能够执行一些力动作,比如旋转,缩放等等


时间表(Scheduler)
使用Scheduler利用timeScale实现快进和回退功能


渲染纹理(RenderTexture)
搞不懂


2d纹理
搞不懂


物理引擎Chipmunk,Box2D
物理引擎的测试,比如说模拟一个物体在有重力的环境下等情景。


高级的特效EffectsAdvanced


小键盘(Keypad)


后台音乐播放相关(CocosDenshion)
音乐播放,暂停,回放,音量控制等等


性能优化相关(Performance)
精灵个数啥的,node,纹理,particle,触碰等等相关性能如何优化。


扩展(Extensions)
在extensions中提供给我们的在以后版本中可能会添加到标准api中的类,是一些比较高级和容易使用的功能。


字体(fonts)


和本地化相关(current language)
如何获取本地语言


纹理缓存(TextureCach)
纹理缓存不懂


阴影相关(Shade)


多点触摸(MultiTouch)
多点触摸相关类如何使用


剪切(Clipping)
不懂


文件操作(FileUtils)
如何操作文件相关的演示
人体脊椎各个部分如何运动(spine)
精灵的各个关节如何运动,实现动态精灵效果啥的



0 0
原创粉丝点击