首页 > 代码库 > 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等函数,分别表示垂直对齐和水平对齐。
        >控件类(CCControl):
            >拖动滑块控件类(CCControlSlider);
            >颜色选择盘控件类(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)