自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

追求游戏之道

知其然知其所以然

  • 博客(8)
  • 收藏
  • 关注

原创 cocos2dx-实现CCDictionary的hash库uthash详解

uthash详解CCDictionary底层用的是uthash,追踪CCDictionary的接口,查看CCDictionary是如何利用uthash的接口的,以及uthash是怎么实现的。 下面是uthash的类图: tail方便uthash快速索引所有对象,每个bucket就是一个拉链法hash表的一个链表。客户变量m_pElements指向客户所有加入uthash中的客户对象构成的链表

2016-06-30 18:16:19 3912

原创 cocos2dx-深度解析plist文件(二)(CCSpriteFrameCache怎么从解析出的数据创建精灵帧的)

cocos2dx-深度解析plist文件(二)(CCSpriteFrameCache怎么从解析出的数据创建精灵帧的)精灵帧的创建CCSpriteFrameCache::addSpriteFramesWithDictionary(CCDictionary* dictionary, CCTexture2D *pobTexture)里面的CCDICT_FOREACH(framesDict,

2016-06-29 17:31:15 2917

原创 cocos2dx-深度解析plist文件(一)(游戏对象的数据如何从plist创建获取)

cocos2dx的精灵缓存在创建一组精灵帧,加载瓦片地图,普通动画的创建、骨骼动画等等都会通过plist(parameter list)文件获得需要的信息,建立器游戏中需要的类对象。本文从CCSpriteFrameCache读取plist创建精灵帧研究起。其中代码使用到了tinyXML2第三方库,以及SAX(simple api xml)。然后在从精灵帧创建精灵反向研究,plist文件数据的含义。

2016-06-28 17:59:50 9961

原创 cocos2dx-详细剖析lua(如何与lua集成,如何导出lua api,如何与lua交互)

本文详解lua是怎么跟c/c++交互的;cocos怎么利用luac/c++交互的技术,导出lua api的供脚本使用;cocos如何进行c++与lua混合编程,cocos有哪些重要lua接口。一、lua与c/c++的交互1、lua简介lua是由c语言编写,c/c++程序可以包含lua库,利用提供的api进行lua脚本开发,lua提供了c与lua相互调用的接口。下面是lua的全部库文件:

2016-06-26 15:59:28 6941

原创 cocos2dx-内存管理剖析(智能指针的局限与引用计数的选择)

一、常用内存管理计数1、智能指针cocos的内存管理没有用智能指针,智能指针,c++有相应的类型,代码如下:#include using namespace std;class Obj{public: ~Obj(){ printf("destruct is called\n"); }};void testAutoptr(){ auto_ptr obj1(

2016-06-25 00:48:52 2638

原创 cocos2dx-精灵如何被渲染and纹理如何被管理、产生与销毁

一、精灵是怎么被渲染出来的cocos渲染用了opengl。所有精灵顶点的位置,都是真实的在opengl世界坐标系中的大小。这些点在XOY平面上,z都为0,它们进行模型视图变换,再进行投影变换,投影空间进行除法运算规格化最后通过视口变换转化为窗口上的一点。void CCDirector::setProjection(ccDirectorProjection kProjection){

2016-06-23 22:34:26 4207

原创 cocos2dx-触摸分发分析

本文分析的是cocos2dx-2.2.2的触摸分发机制。cocos利用底层的接口把消息包装发给了CCTouchDispatcher,ios平台就是用的ceglview这种视图,ios下一般应用编程我们都是用的系统提供的view,这些view可以接受触摸消息,显然ceglview也一样可以。同样也有4个触摸函数,began、moved、ended、cancled。cocos就是在里面进行了包装,

2016-06-22 18:10:06 700

原创 cocos2dx CCUserDefault

在使用CCUserDefault时发现了问题,代码如下void testUserDefault(){ CCUserDefault *ud = CCUserDefault::sharedUserDefault(); const std::string path = ud->getXMLFilePath(); printf("UserDefault path:%s\n"

2016-06-21 17:33:37 526

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除