摘要:关于引擎内存管理的细节,网上有大量的详解,这里概括一下:cocos2d-x 的世界是基于CCObject类构建的,所以内存管理的本质就是管理一个个CCObject。//CCObject 内部维护着一个引用计数,引用计数为 0 就自动释放unsigned int m_uReference;//管理...
阅读全文
摘要:cocos2dx的3.x版本已经提供了更好地绑定方式,网上有很多相关的教程,这里给一个链接:http://www.cocoachina.com/bbs/read.php?tid=196416。 由于目前我们的项目使用的是2.x版本的,且已经开发了一半了,这时候不适合转3.x的版本,于是只能用2...
阅读全文
摘要:这节继上一篇触发器扩展,讲一下代码部分的实现。事件:EventDef.h 只有一个枚举,是对触发器事件的编号#ifndef__EVENTDEF__ #define__EVENTDEF__ enum { TRIGGEREVENT_ENTERSCENE = 0, TRIGGEREVENT_LEAV...
阅读全文
摘要:场景编辑器中的触发器是一种通过事件触发机制,在特定的事件被触发的时候自动执行自己预先定义的动作或者功能。编辑器中带有一些默认的事件、条件和动作,当然也可以扩展自定义的事件、条件和动作。触发器可以创建多个,每个触发器都有可以设置自己的:事件、条件、动作。事件: 是指触发监听的条件,在程序代码中,...
阅读全文
摘要:关于字体描边的实现,不考虑效果和效率的话,是有三种方式: ① 利用CCLabelTTF制作文字描边和阴影效果 ② 利用CCRenderTexture渲染文理的方式生成带有描边效果的文字 ③ 利用shader来实现,使用cocos2dx中CCGLProgram类与OpenGl绘图机制中的着色器交...
阅读全文
摘要:首先,要想使用音效,需要启用音效引擎库CocosDenshion中的SimpleAudioEngine类,#include "SimpleAudioEngine.h" CocosDenshion引擎库实际上是对系统音频API的封装,因此它支持的音频文件格式与平台有关。具体不同平台的格式支持请查阅资料...
阅读全文
摘要:帧动画-手动切换帧-批次渲染处理动画-纹理图片的本质 ---------------------------------------------------------------------------------------------------------------------------...
阅读全文
摘要:精灵和动画都涉及到纹理图片的使用,所以在研究精灵与动画之前,我们先来了解一下纹理图片类CCTexture2D和纹理缓存CCTextureCache的原理: 当一张图片被加载到内存后,它是以纹理的形式存在的。纹理是什么东西呢?纹理就是一块内存,这块内存中存放的是--按照指定的像素格式--填充的“图片...
阅读全文
摘要:CCLayer继承自CCNode,在CCLayer中可以实现单点触摸、多点触摸和重力感应回调3种不同形式的交互。这部分的难点在于,当存在多个层都要去接收触摸时它的响应机制是如何处理的。了解内部的处理机制使用起来才会得心应手,说简单也难,说难也简单,让我们一点点剖析。 从触摸方式上看,触摸分两种类型...
阅读全文
摘要:关于动作部分,总的来说使用起来比较简单,创建一个动作,然后让可渲染节点如精灵去执行这个动作即可。cocos2dx提供了很多类型的动作,使用起来也很方便。本节重点介绍动作CCAction的子类之一时间动作:CCFiniteTimeAction: 时间动作又分:瞬时动作(CCActionInst...
阅读全文
摘要:上一篇博客介绍了整个cocos2dx引擎需要掌握的各个模块,每一个模块实际上往深了研究都有难点,后面我会详细地去分析它的用法。今天我们从第一个模块说起,即渲染模块。首先,为了理解,我们做个类比,说明该模块中几个类之间的关系: 如果把一个游戏项目的开发比作一部电影的制作的话,那么导演(CCDirec...
阅读全文
摘要:有段时间没有学习cocos2dx了,作为新人,自己觉得还是要稳扎稳打,一点点的去积累,梳理好每一个知识点,这样对自己的成长能够有一个更清晰的认识,以便做更好的提高。 从2013年8月开始接触cocos2dx,一直学习到12月份,之后去学习了unity3d引擎的基础部分,确实不错,很轻大。...
阅读全文
摘要:在第一节中简单介绍了2d项目模板HelloWorld的基础代码,并做了一点小小的改变,像触摸接收、旋转、移动和颜色转变序列CCSequence的使用等等,2d本身封装好了很多方便使用的动作,只需要调用即可,那么这节就来了解更多的方法,并去熟悉我们学过的方法。单例:cocos2d很好的利用了单例设计模...
阅读全文