这个是bug么?关于资源搜索路径的

quick cocos2d 3.2 rc1 版本 我创建一个场景, load一个json,然后切换下一个场景,再load一个Scene.json, 然后再load一个B.json放入到这个场景中, 这个B.json 里面有几个按钮盒一个复选框, 点击按钮没有问题, 点击复选框,会报错,如附件

看到 uiload 里有一句如下所示的问题代码,而且c++的 addsearchfile 方法与 setsearchpath方法反复调用,导致searchpatharray的后面有很多重复的路径,红框的路径是我所有图片资源的根路径,会被add然后在set时候被删掉

function uiloader:load(jsonFile, params)
local json = self:loadFile_(jsonFile)
if not json then
print(“uiloader - load file fail:” … jsonFile)
return
end

local node

if self:isScene_(json) then
    node, w, h = CCSSceneLoader:load(json, params)
else
    node, w, h = CCSUILoader:load(json, params)
end

--UILoaderUtilitys.clearPath()   --问题代码

return node, w, h

end

function uiloader:load(jsonFile, params)
local json = self:loadFile_(jsonFile)
if not json then
print(“uiloader - load file fail:” … jsonFile)
return
end

local node

if self:isScene_(json) then
    node, w, h = CCSSceneLoader:load(json, params)
else
    node, w, h = CCSUILoader:load(json, params)
end

-- UILoaderUtilitys.clearPath()  --问题代码

return node, w, h

end

代码好像有点问题, 注掉红框这个句就ok了

在uiloader中,
UILoaderUtilitys.addSearchPathIf
UILoaderUtilitys.clearPath
是配对使用的,
开始加载时,把需要用到的path加到search path中,加载结束后,把之前的加入的path删除掉

我们尝试楼主的流程,没出现问题,楼主可否提供一份测试样例,以便我们分析

里面包含 ui工程和 脚本工程

按这个顺序点击就有问题了

这个 默认的root路径 永远都不对啊。。。。所以会不停的给后面追加root路径

至于找不到资源那个, 是不是因为,我在创建复选框的时候, 资源路径是对的,创建完, 就把路径删了, 我再去点复选框,切换复选框图片资源的时候, 图片资源路径已经被删掉了啊

你们的复选框资源不要放到默认的 res目录下,要自己建一层目录 res/ui/ 将json 和GUI文件夹放这里
代码使用json的时候,用 ui/filename.json 这样加载

我得 workdir 写的是 e:_aa\pro\minemon\ 然后被 cocos2d 转成了 // 分割, 在加入root目录的时候,又判断最后一个 是不是 / 那肯定就不是了啊,然后就被不停往后面追加