3.15不支持读取csb了吗

原来3.13.1正常加载的csb,升级到3.15后加载会崩溃,粗粗排了下发现csb如果含有textfiled控件就会奔溃,项目已经上线了,想着升级一波3.15,希望官方兼容一下,拜托了,不然线上项目就永远没有升级引擎的一天了,平时都是热更升级,考虑到兼容,已经不可能整包更新了

1赞

不可能了已经不维护了

就用3.13搞吧。感觉3.13还行吧。
项目小的话。用ccc.导入ccb.文件。从新撸一波。:joy:

真是的,不维护就吧相应的支持去掉断了大家升级的念想,别搞的大家升级后,又不兼容这不兼容那的

1赞

是的,弄了一个吧小时,我的也在这里崩溃了。 希望官方修改下这个问题哈。

void TextFieldReader::setPropsWithFlatBuffers(cocos2d::Node node, const flatbuffers::Table textFieldOptions)
{
TextField
textField = static_cast<TextField
>(node);
auto options = (TextFieldOptions*)textFieldOptions;

    std::string placeholder = options->placeHolder()->c_str();
    textField->setPlaceHolder(placeholder);  //这一行蹦了

@zilong 求解决

怎么可能不维护 cocostudio 的,版本更新里面还有csb的列子呢,是不是又什么bug在里面

@zilong 求指导,:2:

实际是有个顺序变了,具体字段就是isLocalized

csb的问题确实比较难解决,因为之前做studio的团队已经不在了。但是我们也无法把reader去除,cpp-tests的好多UI的例子还是用studio做的,要去掉reader的话,这些测试例子都得重写,工作量很大,而且也没什么意义。

关于 csb 崩溃的问题:

  1. 把 flatbuffers 恢复到 3.13.1 版本的,大概是 1.0 吧
  2. 把 ui 代码全部使用 3.13.1 版本的

就这些了。
https://github.com/cocos2d/cocos2d-x/pull/17349

1赞

ccs的一些text 莫名其妙的显示不出来了,3.14.1还没有问题·····

部分回滚到正常版本就好了。

能具体说下哪些文件夹下的文件吗??
能麻烦一下给个截图吗???

引擎有提供解决方案吗 我都不敢升级了

有兼容方案了吗???

就是@halx99 说的,改下顺序就行了。
文件CSParseBinary_generated.h,有三个控件的VT_ISLOCALIZED顺序都需要改一下。包括ButtonOptions、TextOptions、TextFieldOptions,下面是TextFieldOptions的修改:

3赞

哪位大神给个完整的解决方案啊,我们也好照着改啊。。。

如前一楼截图,全放到后面即可,无需回滚flatbuffers版本

这算是最终的解决方案了吗?

这样子改了,有没有可能导致其他问题?