cocos2d-x
sydnash
这个作者很懒,什么都没留下…
展开
-
关于keypad_dispatcher中的dynamic_cast的问题
在CCKeypadDelegate.cpp文件中,有这样一句关于dynamic_cast的引用dynamic_cast(m_pDelegate)->release();其中,m_pDelegate的声明如下:class CC_DLL CCKeypadDelegate{public:virtual void keyBackClicked() {}virtual void原创 2014-04-02 08:58:28 · 694 阅读 · 0 评论 -
cocos2dx增加front层并优先响应listener
需求在游戏中会有一些提示性的消息需要显示在UI的最上层,即使是在scene切换的时候也不能消失掉。比如当服务器推送某个消息的时候,需求一个弹窗来展示,但这个时候游戏刚好进行了scene切换,就会导致添加在上一个scene的弹窗消失掉,导致该提示消息无法展示。解决方法我们可以为看到cocos2dx中的调试时候的帧率就是一直显示,哪怕切换场景。这里也使用与之相同的方法。显示修改Director使之包含原创 2017-01-11 09:14:57 · 389 阅读 · 0 评论 -
cocos2dx-lua里面class的实现的一些问题记录和思考
首先要理解lua的class,要先理解metatable的作用和__index以及lua调用table里面的函数的时候搜索函数的逻辑:1、直接当前表里面搜索函数 如果存在,直接调用,不存在继续2、如果表里面不存在调用的函数,会查找表的metatable的__index a、如果__index是一个表,则在该表里面查找,回到第一步 b、如果__index是一个原创 2016-04-14 14:41:12 · 3428 阅读 · 0 评论 -
opengl VAO and VBO
VBO用于存储顶点数据,包括顶点颜色、坐标、法线,以及顶点的indices。VAO则用于存储图形处理器将怎么使用VBO里面的数据,及顶点数据中哪些是坐标、哪些是颜色、哪些是法线等信息。之前对于这些总是不是太明白,因此我猜测也有一部分跟我一样不明白,所以我准备通过Cocos2d-x的renderer代码来说明有VAO和没有VAO的时候的区别,来加深对VAO的理解。首先我们来看初始原创 2015-08-08 09:29:20 · 5485 阅读 · 0 评论 -
在cocos2dx中,横版游戏关于相机移动的方式整理
在做横版游戏的时候,不可避免的要使用到相机移动,并且一般在2D横版游戏中为了能够模拟一些3D的效果,会使用分层移动的方式(即每一层的移动速度有一定的区别,以模拟3D中的物体越远移动越缓慢的效果。 在cocos2d中,提供了parallaxNode来实现不同层次有不同的移动速度的功能。这个node通过对加入的物体设置一个移动的scale来控制其移动速度,其实现原理是当对paral原创 2015-08-02 13:31:05 · 7951 阅读 · 1 评论 -
cocos2dx clippingNode的实现原理
clippingNode是利用opengl的裁剪缓冲区实现的,因为最近有使用这个功能需要,顺便把这部分实现看看了看。 opengl的裁剪主要有以下几个步骤:1、开启裁剪缓冲区2、设置裁剪缓冲区中的mask。3、正常绘制图形,这个时候会根据裁剪缓冲区的值和设置好的比较函数进行计算,根据通过与否选择是否会知道framebuffer4、绘制完成之后关闭裁剪缓冲区这几个步骤在c原创 2015-07-04 13:57:58 · 4846 阅读 · 6 评论 -
cocos2d的armature绑定到其他armature骨骼上的bug
在armature的骨骼上可以绑定另外的armature,在我的项目中使用了该功能来完成骑乘功能,但是在使用过程发现了如下的bug,特写在这里做一下记录。首先说说cocos2dx的代码。在cocos2dx的骨骼的update函数中有如下代码用于骨骼的矩阵更新。 if (_boneTransformDirty) { if (_dataVersion >= VER原创 2015-06-08 22:55:16 · 1776 阅读 · 0 评论 -
cocos2d-x 3.0的clone函数
在3.0中,将使用clone函数来代替老的copy函数,在不久的将来copy函数将被删除。在使用clone的函数原创 2014-04-04 22:35:07 · 9930 阅读 · 0 评论 -
cocos2d-x自动内存管理
cocos2d-x管理内存主要是通过如下三个函数来管理:1、retain2、release3、autorelease其中:autorelease函数是将对象加入到cocos2d-x的自动内存释放池中,然后在程序mainloop中每次循环中都会通过调用自动内存释放池的pop函数来释放管理池中引用次数只有1的对象。调用类的create函数创建对象,然后加入到au原创 2014-04-02 21:53:41 · 1093 阅读 · 1 评论 -
cocos2d-x 2.0+eclipse+winxp配置
配置cocos2d-xandroid开发环境。1、在andorid developer官网下载adt-bundle-windows-x86-20131030.zip该文件继承了eclipse和CDT ADT以及android sdk,这个文件直接解压,不要移动解压之后的文件的位置。加压完成之后进入加压目录会有eclipse和sdk两个目录。进入eclipse目录启动ecl原创 2014-04-02 08:53:58 · 1832 阅读 · 0 评论 -
cocos2dx中的class的实现以及C++的__index搜索
metatable要理解lua的class,首先要先理解metatable的作用和__index以及lua调用table里面的函数的时候搜索函数的逻辑: 1、直接当前表里面搜索函数 如果存在,直接调用,不存在继续 2、如果表里面不存在调用的函数,会查找表的metatable的__index a、如果__index是一个表,则在该表里面查找,回到第一步 b、如果__原创 2017-01-11 11:40:28 · 967 阅读 · 0 评论