基于opengl开发的
主要概念包括:应用,导演,场景,曾,精灵,动画,动作。
层次关系:导演 -》 多个场景 -》一个层(相互引导) -》 多个精灵。
主要类:(看过怎么定义的)
CCObject是主要基类,负责引用计数 。
CCPoolManager是单体类,负责管理多个垃圾回收对象。其中CCArray *m_pReleasePoolStack 可以管理多个垃圾回收器。CCPoolManager 通过用 getCurReleasepool获取当前的垃圾回收器 m_pCurReleasePool,如果m_pCurReleasePool == NULL,就调用push创建一个新的垃圾回收器,并且还要加入刚才的那个m_pReleasePoolStack里面。而Pop方法会清理掉当前的这个垃圾回收器 m_pCurReleasePool,然后把刚才那个栈pop出来一个新的设置给当前这个Cur使用。
CCAutoreleasePool自动的垃圾回收器,通过一个动态数组autorelease管理加入的CCObject对象。
CCApplication是Cocos2d-x的应用主类,应用程序都要继承这个CCApplication,在main函数里需要定义一个CCApplication的对象并且执行它的run方法。
CCDirector导演类,主要做场景的管理和调度,通过创建CCActionManagement对象管理器,触摸消息分配器,键盘消息分配器,加速器等等一系列的方法来初始化,哦哦,还有刚才说过的那个CCPoolManager也要,用来创建一个垃圾回收器。
最重要的方法还是mainLoop方法,这个方法跟openGL,glut库里的mainLoop很像,步骤都是渲染场景,释放清理当前的垃圾回收器,不过这里是通过CCPoolManager来实现,而opengl就通过glClear来实现。
原文:http://blog.csdn.net/modiziri/article/details/21864385