cocos2d-x 出错集。

来源:互联网 发布:win10录屏软件 编辑:程序博客网 时间:2024/05/16 09:22

1、[vs2010, cocos2dx-2.0.4/2.1.x/xxx]Unable to start program以及新建不了cocos2dx项目(点新建项目框框的OK就立刻弹出原新建项目框)


       当Debug或Ctrl+F5运行出现如上错误时;


       解决:这是一个cocos2dx win32环境搭建环节出问题,所以我百度,找到这个帖子:http://blog.csdn.net/aa4790139/article/details/8086635,发现其中正文里的“--->[补充在win32下创建自己的工程,为了以后方便,也将此内容更新到此处~

第一步:运行InstallWizardForVS2010.js(我用的是vs2010,你选择对应的,我的目录如下:D:\work\cocos2d-x-2.0.1\template\msvc)]<---”

       我没有做到,所以按这个步骤去做,后来就能无错运行了;




2、[vs2010, cocos2dx-2.0.4]Assertion failed!(ccnode.cpp Line:536, child!=0)


       遇到这问题,仔细看其内容,发现是与ccnode.cpp中的第536行内容有关,其536行是addChild函数,结合其报错内容:child!=0,可知道,报错信息与代码的addChild(,,,)函数有关,且是实参函数的问题。将报错内容范围缩小至此,再回去源代码仔细阅读,发现,自己的一处addChild()语句中的实参为NULL,没有初始化成功。


       故暂得如下结论:出现如上错误,则是addChild()语句中的实参为NULL,没有初始化成功。




3、[vs2012, cocos2dx-2.2.2]nptr != null

       这是空指针报错,如果是按下某个按钮出现这种,大多数是按钮对象为空指针了,可以进一步查看堆栈信息进而确定。我刚才没有往这方面去想,是因为上一次调用还好好地,然后再调式一遍的时候就出错了,原来是自己在SVN把UI资源给还原掉了。




4、[vs2012, cocos2dx-2.2.2]屏幕静止不动,无报错也无弹出对话框

死循环!遇这种情况,也多半是这样。




5、[vs2012, cocos2dx-2.2.2]转换场景几次就报内存调用错误

       场景转换几次,就会报内存调用错误,打断点进去看,是说其中一个控件指针为空,找不到。后来细看,原来是有几个控件指针对象没有retain却在所在的显示类的析构函数处release(随后便被delete掉)了,这是典型的内存泄露!retain和release(非delete)必须成对出现。BTW:时刻遵循MVC模式,V仅仅是显示,任何读取数据的运算能在M中运行就在M中运行,然后由C(中间件,C不是必须存在的)返回给V。





6、[vs2012, cocos2dx-2.2.2]child->m_pParent == 0

       这问题就是你被添加的节点在添加过后,会拥有两个父类,即“儿子不可以同时又两个父亲”,在cocos2dx中,在listview中添加item元素是很正常的,但往往直接添加item(如button,img,sprite)会弹出框parent == 0(即你添加的节点的父类 !=0 ),所以,很多时候是用CCNode类自己new一个节点,将它作为其他若干item的父节点。这里就注意不要某一子节点对象连续作为不同父类对象的子类(即作为addchild()的参数)。

PS:网上有位同学说可以用removeFromParentAndCleanup将父类子类的关系解除,大家可以去试试。





7、utf8转utf16问题(Button的setTileText无效

      问题起因是这样的,ui::Button里有个setTileText,我动态设置了按钮的文本表现(中文字符),但是游戏运行的时候发现并没有改变,于是跟进去setTileText源码去看,发现其_titleRenderer->setString(text);里会将传入的text转为utf16,而转化成功的utf16才是真正需要展示的成员变量,但是在StringUtils::UTF8ToUTF16的过程中就出错了(返回targetExhausted错误)。后来查明原因,是原来设置中文字符的文件.cpp的文件编码格式不对。

      说到这里就是VS比较坑了,因为我在VS里是设置了utf8的编码格式,但实则无效,我是在网上下了个转码工具再转了一遍才成功的。



1 0
原创粉丝点击