cocos2dx-2.2.2pak-公司版本
文章平均质量分 81
CodeWorld_Flying
知其然知其所以然
展开
-
cocos2dx(一)-ios平台程序怎么跑起来的
cocos2dx的在不同平台上可以运行,上层主要使用c++来写的,但是跟平台相关的东西还需要用平台的默认语言跟平台提供的api来写的。下图是AppDelegata相关类图ios中首先是main函数如下,它创建了AppController类,这是ios app的应用代理类,当app启动时,会调用这个类的- (BOOL)application:(UIApplication *)applicat原创 2016-03-17 15:26:05 · 2463 阅读 · 0 评论 -
cocos2dx-CCControlButton源码分析
[TOC]CCControlButttonCCMenu简介CCControlButtton是按钮控件,有一个标签加背景图片构成,标签和背景可以只有一个存在。cocos的CCMenu以及提供了相应的空间功能,CCMenu同CCControlButtton一样派生于CCLayer,可以开启触摸。CCMenu的孩子CCMenuItem已经提供了简单的按钮功能了,可以由图片或者文字构建一个菜单项,CCMen原创 2016-07-04 23:17:25 · 2651 阅读 · 0 评论 -
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 · 536 阅读 · 0 评论 -
cocos2dx-深度解析plist文件(二)(CCSpriteFrameCache怎么从解析出的数据创建精灵帧的)
cocos2dx-深度解析plist文件(二)(CCSpriteFrameCache怎么从解析出的数据创建精灵帧的)精灵帧的创建CCSpriteFrameCache::addSpriteFramesWithDictionary(CCDictionary* dictionary, CCTexture2D *pobTexture)里面的CCDICT_FOREACH(framesDict,原创 2016-06-29 17:31:15 · 2950 阅读 · 0 评论 -
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 · 7021 阅读 · 0 评论 -
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 · 736 阅读 · 0 评论 -
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 · 2646 阅读 · 0 评论 -
cocos2dx-精灵如何被渲染and纹理如何被管理、产生与销毁
一、精灵是怎么被渲染出来的cocos渲染用了opengl。所有精灵顶点的位置,都是真实的在opengl世界坐标系中的大小。这些点在XOY平面上,z都为0,它们进行模型视图变换,再进行投影变换,投影空间进行除法运算规格化最后通过视口变换转化为窗口上的一点。void CCDirector::setProjection(ccDirectorProjection kProjection){原创 2016-06-23 22:34:26 · 4232 阅读 · 0 评论 -
cocos2dx如何使用CCFileUtils进行文件查找的
Cocos2dx支持使用绝对路径以及相对路径进行查找文件CCFileUtils是一个抽象类,它在ios中使用CCFileUtilsIOS作为具体类。boolCCFileUtilsIOS::isFileExist(conststd::string& strFilePath)函数可以使用绝对路径以及相对路径,绝对路径调用NSFileManager的fileExistsAtPath判原创 2015-12-16 17:22:21 · 3735 阅读 · 0 评论 -
cocos2dx-CCSpriteBatchNode源码分析(VAO+VBO)
CCSpriteBatchNode简介CCSpriteBatchNode是用来一次渲染多个精灵的,这些精灵是CCSpriteBatchNode的孩子,并且使用同一个纹理,后面将详细分析CCSpriteBatchNode的孩子为什么用使用同一个纹理。多个纹理可以打包成一个纹理,然后通过精灵帧缓存载入这个纹理文件的属性文件,创建纹理与精灵帧,后面用相应的精灵帧创建精灵,这里省去了多次读取外部文件,创建多原创 2016-07-06 15:20:42 · 2218 阅读 · 0 评论