首页 > 代码库 > Cocos2D学习笔记(1)- 常用的类
Cocos2D学习笔记(1)- 常用的类
1、坐标系
>屏幕坐标系(UIKit):原点在左上角!
>OpenGl坐标系:原点在屏幕的左下角!
2、游戏设计:Director——Scene——Layer——Sprite。
>CCDirector:导演类,相当于是游戏策划,负责整个游戏的布局和运行规则的制定。
>CCScene:场景类,每个场景可以是一个界面或一个关卡。
>CCLayer:图层类,为了方便游戏界面的渲染管理。
>CCSprite:精灵类,
小结:一个导演类(CCDirector)可以指挥多个场景类(CCScene),一个场景类里面可以有多个图层(CCLayer),一个图层里可以有多个精灵(CCSprite)被显示。
3、节点类(CCNode)
>节点类是Cocos2D-x里的主要类,继承自CCObject。
>任何需要华仔屏幕上的对象都是节点类。例如:最常用的CCScene,CCLayer,CCSprite,CCMenu类都是继承自CCNode类。
>节点类的主要功能:
>每个节点都可以有子节点。
>节点含有周期性回调方法(Schedule、Unschedule等)。
>节点可以有动作(CCAction)。
>CCNode可以为它自己和子节点添加额外的功能。
>子节点可以有一些相对于父节点的动作(CCAction)。
4、场景类(CCScene)
>CCScene类继承自CCNode类。
>CCTransitionScene类是CCScene类的子类,是切换场景类,提供许多场景切换时的效果函数。
>不要在节点初始化的ini函数中调用replaceScene函数,导演类不允许在一个节点初始化的调用场景替换,否则会导致程序奔溃。
>压入场景(pushScene)和弹出场景(popScene)。他们都可以用来显示场景和保留当前场景并显示新场景;不同的是他们不把旧场景从内存中释放掉,这样可以提高加载速度,这时需要注意,如果内存不足的话,建议使用replaceScene函数。
5、图层类(CCLayer)
图层类(CCLayer)是CCNode类的子类,并且在此基础上实现触屏事件代理(TouchEventsDelegate)协议,可以实现CCNode类的供能,并且可以处理输入,包括传感器,加速度传感器。
>每个游戏场景都可以有很多个图层,每一层负责各自的任务。
子类:
>颜色布景层类(CCLayerColor):包含CCLayer的功能,并提供两个拓展功能,可以为布景层添加颜色,以及设置不透明度。
>多层布景层类(CCLayerMultiplex):用来管理同一个场景中的不同Layer!
>菜单类(CCMenu):CCMenu是一个菜单项的容器,用来装载各种菜单项。菜单项可以是文字,图片!CCMenu还提供了alignItemsVertically和align-ItemsHorizontally等函数,分别表示垂直对齐和水平对齐。
>多层布景层类(CCLayerMultiplex):用来管理同一个场景中的不同Layer!
>菜单类(CCMenu):CCMenu是一个菜单项的容器,用来装载各种菜单项。菜单项可以是文字,图片!CCMenu还提供了alignItemsVertically和align-ItemsHorizontally等函数,分别表示垂直对齐和水平对齐。
>控件类(CCControl):
>拖动滑块控件类(CCControlSlider);
>颜色选择盘控件类(CCControlColourPicker);
>颜色选择盘控件类(CCControlColourPicker);
>开关按钮 控件类(CCControlSwitch);
>按钮控件类(CCControlButton);
6、精灵类(CCSprite)
精灵类CCSprite是一张二维的图片对象,他可以用一张图片或者一张图片的一块矩形部分来定义。
>贴图类(CCTexture2D);在OpengGL中称图片为贴图,在CocosD-x中CCTextureD就是图片对象的意思,可以通过它创建精灵等对象。CCTexture2D类是精灵类和其相关基础的基础。
>精灵批处理类(CCSpriteBatchNode);
>精灵帧类(CCSpriteFrame);精灵帧类的概念是相对于动画儿产生的。一个精灵是固定节点,他可以拥有许多精灵帧,在他们之间切换就形成了动画。
>精灵帧缓存类(CCSpriteFrameCache);精灵帧缓存类CCSpriteFrameCache用来存储精灵帧,提前缓存起来有助于提高程序的效率。CCSpriteFrameCache是一个单例模式,不属于某个精灵类,是所有精灵共享使用的。
7、摄像机类(CCCamera)
所有的节点都拥有一个摄像机类CCCamera。只有通过摄像机类,节点才能被渲染出来。当节点发生缩放旋转和位置变化的时候,都需要覆盖CCCamera类,让CCCamera类重新渲染。
注意:这里需要说明的是,在三维效果中,使用CCCamera类是可以的,但是如果只是一些二维特效的话,那么更推荐使用CCFollow类。
8、容器类
>CCArray类可以理解成是一个数组的容器,装载的对象只要是CCObject的子类就可以。
>CCDictionary字典类;
9、拖动渐隐效果类(CCMotionStreak)
10、绘制图形
11、时间调度
12、动作类(CCAction)
>有限时间动作(CCFiniteTimeAction)
>瞬时动作(CCActioninstant):顾名思义,就是直接调用结果的动作,这中间不产生任何的动画效果,其中执行回调函数。
>延时动作(CCActionInterval):会在调用时形成动画效果。
>跟随(CCFollow)
>移动速度(CCSpeed)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。