【已解决】cocos2dx 2.1.5 + cocostudio 1.6 csb加载报错

跟踪了一下,到WidgetReader::setPropsFromBinary这个函数,解析到"key" == “layoutParameter”, 就一直在递归,最后挂掉,bug?

2d-x建议用新版。2.1.5配1.6差别未免太大。

看调试结果,跟2dx版本无关

有测试用其他版本2D-X看能跑吗?

一样的,缓冲区溢出, 直接用的cocos2d-x-2.2.5

你是个案。

加我Q给我调教调教?

好吧,我自己解决了

修改CocoLoader.cpp 35行

Type stExpCocoNode::GetType(CocoLoader* pCoco)

不让他再进入GetValue

这样,cocos2dx2.1.5也可以加载cocostudio1.6的csb文件。
不过还需要验证是否还有其他坑,而且发现加载二进制没有太大性能提升的感觉,看来优化还是要自己来啊。。。

漏了下面一处,看起来也是同样的问题

另一个问题解决也一起放在这里
原帖在这里
http://www.cocoachina.com/bbs/read.php?tid=217349&page=1#1165190

Label初始化字体时,因为加载csb是jsonpath为全路径,BitmapDC:setFont() 的这一句strcpy_s(tNewFont.lfFaceName, LF_FACESIZE, fontName.c_str()) 导致溢出,修改方法如下GUIReader::widgetFromBinaryFile函数体内

THX:856: