1.核心的类和功能

CCDirector gameLoop,实现场景绘制。多个场景之间切换控制。控制游戏的停止,暂停,等生命周期。

CCScene 场景类,每一个场景能够理解为一个游戏镜头。状态

CCLayer 图层,包含图片层,文字层。按扭层。动画层,每一个层有坐标。显示内容,消息回调处理

CCSprite 精灵层,能够实现动画播放

CCAction 动作,控制图层运动。渐变,旋转等

关系例如以下

CCDirector

    游戏运行场景CCScreen

        背景层CCLayer

            精灵CCSprite

        主层

            精灵

        控制层

            精灵

ccnode经常重写的方法:

    draw() 该方法绘制每一个node

    update() 该方法处理每一帧的逻辑变化

    ccTouchesBegan() 处理用户的交互事件

ccp 创建CGPoint对象最经常使用的宏

2.项目入口

didFinishLaunchingWithOptions:

设置RootViewController。并建立EAGLView对象__glView作为主view。__glView在创建过程中会纪录到静态变量中。引擎中通过 EAGLView.sharedEGLView()来获取这个view。全部渲染工作都是在这里实现的!。

CCApplication

CCDirectorCaller  控制消息循环,底层由CADisplayLink实现,终于调用cocos2d::CCDirector::sharedDirector()->mainLoop();完毕渲染。

CCDirector的渲染有这样几步

1.推断是否删除导演,假设是,清除导演,否则2.

2.是否无效,无效进入退出渲染

3.渲染动画

    a.计算时间增量

    b.假设没有暂停,运行导演的update

        现运行updata   后运行客户的schedule

    c.假设须要切换场景,切换场景

    d.调用m_pRunningScene->visit(); 刷新Scene,这是个递归的过程。先绘制zOrder < 0的child,然后drow自己,然后訪问z>0 的

    e.绘制 NotificationNodes 。 用于场景切换时仍能够显示的界面

    除了上边说的,visit前要kmGLPushMatrix(); visit后要kmGLPopMatrix(); 期间还要出发beforDrow和endDrow事件。

4.清除没用的对象,通过pop栈顶的autoreleasepool的方式实现

cocos2dx笔记1:概述的更多相关文章

  1. [cocos2dx笔记004] android添加�静态库project

    (基于2.2.2版本号) 这步比較麻烦,不像vs2013那样好设置.參考了非常多文章.还是不能解决这个问题.仅仅有慢慢摸索了.在这里贴出来,希望能让大家能少走点弯路. 还是其于前面的文章提到的myli ...

  2. [cocos2dx笔记011]使用Cocostudio UI编辑器

    本文地址:http://www.cppblog.com/zdhsoft/archive/2014/07/19/207715.html 笔记汇总:http://www.cppblog.com/zdhso ...

  3. ng-深度学习-课程笔记-0: 概述

    课程概述 这是一个专项课程(Specialization),包含5个独立的课程,学习这门课程后做了相关的笔记记录. (1) 神经网络和深度学习 (2)  改善深层神经网络:超参数调试,正则化,优化 ( ...

  4. μCos-ii学习笔记1_概述

    一.μCos-ii _概述 网上关于μCosii的文章多不胜数,本人学习的过程中也参考了很多人的理解和想法,看的是卢有亮老师的<嵌入式实时操作系统-μC/OS原理与实践>(第2版),同时也 ...

  5. HTTP权威指南笔记-1.概述

    1.1 通讯 Web内容是存储在服务器上的,Web服务所使用的是HTTP协议,所以经常称为HTTP服务器.通讯过程为客户端(正常我们所使用的)发出请求,服务端根据客户端的HTTP请求响应相应数据,这就 ...

  6. XML学习笔记1——概述

    我对于XML是很不够重视的,认识也是非常肤浅的,因为在之前的Web经验中,基本上都可以使用JSON来代替XML,JSON网络流量少,解析快,JS支持好等这些特点让我对自己的观点坚信不疑.然而我渐渐地改 ...

  7. cocos2d-x笔记5: 通过jni实现C++调用Java

    Cocos2d-x的跨平台性很强大,但是偶尔也需要平台的原生API结合. C++在Win32平台下简单的很,C++可以直接用MFC或者调用Win32API. Ios在XCode下直接就能C++和OC混 ...

  8. cocos2d-x笔记2: 编译到安卓的步骤与注意事项

    博客地址: www.cnblogs.com/wolfred7464/ 不得不说,真心复杂,本篇博客总结的基本是最简最直接的步骤了,不用Cygwin和Ant的,当然用也可以... 以下用 %PROJEC ...

  9. [cocos2dx笔记015]关于cocos2dx Button三种状态说明

    经过几天的填坑,最终将现有的项目由cocos2dx 2.2.2移到cocos2dx 3.2,差点放弃3.2了,但在最后一刻,又把坑填平了. cocos2dx 2.x到3.x是一个巨大的变化,能够算是全 ...

随机推荐

  1. 剑指Offer(书):重建二叉树

    题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2, ...

  2. 杭电 1069 Monkey and Banana

    Description A group of researchers are designing an experiment to test the IQ of a monkey. They will ...

  3. CentOS 7中设置PHP7的Log文件日志

    对于服务器上面运行的php代码, 想要去查看对应的log,找到代码无法运行的原因 1.通过:phpinfo()去找 error_log 结果得到: 2.然后去编辑php.ini,修改三处地方 vi / ...

  4. 在不是modelAttribute的情况下,如何保存页面输入值的方法(多行遍历)

    <c:forEach var="prdRelInfo" items="${goodRelPrdList}" varStatus="s" ...

  5. django1.11 启动错误:Generator expression must be parenthesized

    错误信息: Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0 ...

  6. PTA 04-树4 是否同一棵二叉搜索树 (25分)

    题目地址 https://pta.patest.cn/pta/test/15/exam/4/question/712 5-4 是否同一棵二叉搜索树   (25分) 给定一个插入序列就可以唯一确定一棵二 ...

  7. Tsinghua OJ Zuma

    Description Let's play the game Zuma! There are a sequence of beads on a track at the right beginnin ...

  8. UVA12345 (带修改的莫队)

    UVA12345 Dynamic len Problem : 给一个序列,每次询问一个区间里面的数字种类数量,或者修改某一个位置的值. Solution : 第一关键字分块排序左端点,第二关键字分块排 ...

  9. Android操作系统架构

    Android操作系统架构   Android操作系统整体应用架构 Android系统架构和一些普遍的操作系统差不多,都是采用了分层的架构,从他们之间的架构图看,Android系统架构分为四个层,从高 ...

  10. [Bzoj4832][Lydsy2017年4月月赛]抵制克苏恩 (期望dp)

    4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 673  Solved: 261[Submit][ ...