cocos2dx笔记1:概述
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:概述的更多相关文章
- [cocos2dx笔记004] android添加�静态库project
(基于2.2.2版本号) 这步比較麻烦,不像vs2013那样好设置.參考了非常多文章.还是不能解决这个问题.仅仅有慢慢摸索了.在这里贴出来,希望能让大家能少走点弯路. 还是其于前面的文章提到的myli ...
- [cocos2dx笔记011]使用Cocostudio UI编辑器
本文地址:http://www.cppblog.com/zdhsoft/archive/2014/07/19/207715.html 笔记汇总:http://www.cppblog.com/zdhso ...
- ng-深度学习-课程笔记-0: 概述
课程概述 这是一个专项课程(Specialization),包含5个独立的课程,学习这门课程后做了相关的笔记记录. (1) 神经网络和深度学习 (2) 改善深层神经网络:超参数调试,正则化,优化 ( ...
- μCos-ii学习笔记1_概述
一.μCos-ii _概述 网上关于μCosii的文章多不胜数,本人学习的过程中也参考了很多人的理解和想法,看的是卢有亮老师的<嵌入式实时操作系统-μC/OS原理与实践>(第2版),同时也 ...
- HTTP权威指南笔记-1.概述
1.1 通讯 Web内容是存储在服务器上的,Web服务所使用的是HTTP协议,所以经常称为HTTP服务器.通讯过程为客户端(正常我们所使用的)发出请求,服务端根据客户端的HTTP请求响应相应数据,这就 ...
- XML学习笔记1——概述
我对于XML是很不够重视的,认识也是非常肤浅的,因为在之前的Web经验中,基本上都可以使用JSON来代替XML,JSON网络流量少,解析快,JS支持好等这些特点让我对自己的观点坚信不疑.然而我渐渐地改 ...
- cocos2d-x笔记5: 通过jni实现C++调用Java
Cocos2d-x的跨平台性很强大,但是偶尔也需要平台的原生API结合. C++在Win32平台下简单的很,C++可以直接用MFC或者调用Win32API. Ios在XCode下直接就能C++和OC混 ...
- cocos2d-x笔记2: 编译到安卓的步骤与注意事项
博客地址: www.cnblogs.com/wolfred7464/ 不得不说,真心复杂,本篇博客总结的基本是最简最直接的步骤了,不用Cygwin和Ant的,当然用也可以... 以下用 %PROJEC ...
- [cocos2dx笔记015]关于cocos2dx Button三种状态说明
经过几天的填坑,最终将现有的项目由cocos2dx 2.2.2移到cocos2dx 3.2,差点放弃3.2了,但在最后一刻,又把坑填平了. cocos2dx 2.x到3.x是一个巨大的变化,能够算是全 ...
随机推荐
- zzuli 1905 小火山的跳子游戏
Description 小火山和火山火山在一块玩跳子游戏.规则如下: 1:跳子的起始位置为0,棋盘大小从1到N 2:每次跳子跳k步. 例如当前位置为i, 那么下一步为i + k 3:跳 ...
- Insert or Merge
7-13 Insert or Merge(25 分) According to Wikipedia: Insertion sort iterates, consuming one input elem ...
- 【06】Firebug记录Javascript日志
Firebug记录Javascript日志 你可以使用Firebug来生成日志. 这有助于我们调试web页面并发现页面的错误. 在Firefox浏览器中执行以下代码: <!DOCTYPE HTM ...
- 一张图表,人人都能建立自己的AARRR运营模型
每次跟同行聊运营,聊用户,聊产品,最后都会回到AARRR模型上来,这个用户全生命周期模型概括了互联网产品运营的5个关键环节. 获客是运营的基础,促进用户活跃才能让产品有生命力,提升留存减少流失让用户规 ...
- cp: omitting directory解决方案
cp: omitting directory是因为目录下面还有目录.应该使用递归方法.需要加入-r参数. 及:cp -r 该目录名.
- Linux怎么读? Linux读音考古一日游
Linux怎么读? Linux读音考古一日游/*凡是准备踏入Linux大门的叉子们(N年不关注了,不知道这个称呼是否还有),都必须经历疑问 那就是linux到底怎么读? 也许有些人很容易 什么里纽克 ...
- jQuery的切换函数(hover,toggle)
1.hover:(鼠标悬停与离开事件) 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法.这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态. 当鼠标移动到一个匹配的 ...
- Generate Parentheses(组合,回溯)
Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...
- Linux--进程组、会话、守护进程(转)
http://www.cnblogs.com/forstudy/archive/2012/04/03/2427683.html 进程组 一个或多个进程的集合 进程组ID: 正整数 两个函数 getpg ...
- Topcoder 658Div2
补题风向标——>> 假装题意知道 A:暴力合成一遍了 n=s.size(); m=t.size(); ss+=s; tt+=t; if (ss==tt) or not; B:题意是给定 1 ...