
05游戏-cocos2dx源码
fengsharp
这个作者很懒,什么都没留下…
展开
-
05-工具箱
数值转为string StringUtils::toString(value) -> string StringUtils::format(format,…) -> string string转为数值 atoi atol atof原创 2015-11-10 17:58:40 · 389 阅读 · 0 评论 -
07-渲染流程-5-Sprite渲染-QuadCommand
我们详细看看init中的几个参数: 1. _globalZOrder 在这里是0,我们没有设置需要全局进行渲染。 2. _texture->getName() 这个参数是纹理缓存。从何而来呢? 该参数是Texture2D* 对象。在加载图片的时候进行了设置 3. getGLProgramState() GLProgramState 主要封装了 GLProgram* 对象原创 2015-11-28 09:41:50 · 767 阅读 · 0 评论 -
07-渲染流程-2-HelloWorld分析
"HelloWorld.png” —> 到屏幕的显示经历了哪些过程? 抛开系统启动的过程,那么所有的渲染方式在Director::drawScene中 在Director::mainLoop中不断的循环该方法进行渲染 1.时间间隔判断 2.确保openGL的视图事件响应-IPhone程序没用-空实现 3.按照优先级调度update函数(每个节点都有这么个函数),然后Open原创 2015-11-18 09:58:12 · 384 阅读 · 0 评论 -
07-渲染流程-3-Sprite渲染-判断是否裁剪分析
我们集中精力来看Sprite的draw() _insideBounds = transformUpdated ? renderer->checkVisibility(transform, _contentSize) : _insideBounds; 正如注释所述,该步骤是判断该Sprite是否在显示的Bounds中,如果transformUpdated没有发生改变,则不需要计算,之前是显示原创 2015-11-20 12:06:00 · 548 阅读 · 0 评论 -
07-渲染流程-1-流程
1.AppControler完成加载后 2.调用了Director,设置了OpenglView,投影的设置就在这个过程里面。 3.调用Application::run 4.在开始运行程序之前,首先调用了基础了Application的Appdelegate的applicationDidFinishLaunching方法 5.new一个新的Scene,并runScene,此时Director原创 2015-11-13 12:42:40 · 386 阅读 · 0 评论 -
06-世界坐标系的原点为什么是左下角而不是屏幕中心
OpenGL 默认的坐标原点是屏幕的正中心,而cocos2dx是如何将屏幕的左下角作为原点的呢? 猜测是设置了摄像机 结果猜测对了! 1.AppController.mm didFinishLaunchingWithOptions 2.Director.cpp setOpenGLView 3. Director::setGLDefaultValues 4. void D原创 2015-11-10 19:04:31 · 2228 阅读 · 0 评论 -
04-内存管理
cocos 采用的是引用计数管理,自动释放 1. new 一个Ref对象,pObj 的引用计数为1 2.调用了autoRelease 将该对象(pObje)的地址添加到PoolManager::getInstance()->getCurrentPool 中 3.在Pool 中使用vector来保存 4.当Director在下一帧处理渲染的时候,先drawScene,然后clear全部的原创 2015-11-10 17:57:19 · 333 阅读 · 0 评论 -
01-C++11的使用
1.nullptr的使用,尽量替代NULL 之前如果存在两个方法 void f(int n) void f(char* n) 如果调用的时候, f(NULL) 等价于 f(0) 则没办法判断是调用哪个方法,存在二义性 而现在如果调用f(nullptr)则调用的是f(char*n) 2.auto 在循环遍历的时候较为方便,但是作为一种习惯,尽可能的使用类型名称吧 3.能使用over原创 2015-11-10 17:52:04 · 295 阅读 · 0 评论 -
03-需要掌握内容
游戏架构原创 2015-11-10 17:56:06 · 313 阅读 · 0 评论 -
00-目标和参考资源
目标: 分析cocos2dx-3.2版本的源码 阶段: 1.分析HelloWorld工程的文件分类 2.通过HelloWorld工程,分析渲染流程 3.通过各个Demo,分模块掌握接口使用 接口原理 参考资源: 0.红孩儿的博客 http://blog.youkuaiyun.com/honghaier/article/category/1217322/7 1.对源码的一些说明 htt原创 2015-11-10 17:50:47 · 310 阅读 · 0 评论 -
07-渲染流程-4-Sprite渲染-渲染命令分析
如果在可视范围内,则需要执行render的addCommand命令 首先我们需要搞清楚两个对象 _quadCommand 和 renderer QuadCommand Sprite使用的QuadCommand进行渲染,所以要了解Sprite是如何被渲染出来的,就要深入看QuadCommand的代码了。 Renderer renderer->addCommand(&_quadCom原创 2015-11-24 08:05:25 · 845 阅读 · 0 评论