关于 github上最新的二进制解析器 的问题

WidgetReader 212行 的解析器

std::string WidgetReader::getResourcePath(CocoLoader *pCocoLoader,
stExpCocoNode *pCocoNode,
cocos2d::ui::TextureResType texType)
{
stExpCocoNode *backGroundChildren = pCocoNode->GetChildArray();
std::string backgroundValue = backGroundChildren.GetValue();

if (backgroundValue.size()
< 3) {

return “”;
}

std::string binaryPath = GUIReader::shareReader()->getFilePath();

标红的语句 是v3分支上https://github.com/cocos2d/cocos2d-x/commit/b8950187650530611995f10457caf1a5456d3c39#diff-3c8384c505310cb94b25a8e868b59d35
这个版本添加的 。。 会导致button的disable图像无法读取,同时导致没有 click图像的button click后不见了、、 (以为自己load了click贴图)

我修改成了
if (backgroundValue == “null” ) {
return “”;
}

解决了问题

现在弱弱问下 为什么会有这个判定,会不会影响原来解析器的代码 还是只是不小心的一个bug

当时做这个判断 是因为xxx.png后面.png至少有3个字符。如果你有一个图片,至少应该叫做a.png吧?那size应该是>3的呀。

我明白了 导出的json里面disable里面的字符串是null对吧?

楼主能发一个json文件上来吗?我重现一下。

您好,那个问题我们需要测试下,你能否提供一个让该问题重现的工程文件呢?如果可以感激不尽。如涉及隐私可以发至我邮箱”Hanrea@qq.com“

这个在二进制导出的时候出现的问题

我知道,子龙山人目前是负责解析的,所以需要个错误样本。