加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-x的另一个坑,cc.FileUtils:addSearchPath()的第二个参

发布时间:2020-12-14 19:15:57 所属栏目:百科 来源:网络整理
导读:本来C++那边的 FileUtils::addSearchPath(const std::string path,const bool front=false) 方法定义的挺人性化,传入第二个参数为true,就可以把新设置的路径放在路径搜索的前面,导出为Lua后,API也保留了这个特性,支持传入第二个参数: 于是你想当然地在

本来C++那边的FileUtils::addSearchPath(const std::string &path,const bool front=false)方法定义的挺人性化,传入第二个参数为true,就可以把新设置的路径放在路径搜索的前面,导出为Lua后,API也保留了这个特性,支持传入第二个参数:

于是你想当然地在Lua中这么用的时候,就傻眼了:

cc.FileUtils:getInstance():addSearchPath("path",true)

报错:

cocos2d: addSearchPath has wrong number of arguments: 2,was expecting 1

明明C++的源代码和导出Lua的lua_cocos2dx_auto.cpp中写的明明白白是可以支持第二个参数的啊,太莫名其妙了。经过一番全局搜索,才发现在Runtime环境下,addSearchPath()这个方法TMD被Runtime.cpp给覆写了一次!!以下为Runtime.cpp中的代码片段:

看到了吧,本来好端端的addSearchPath()方法,明明支持两个参数,就这么被强奸成只接受一个参数了,CAO!那没啥好说的了,改Runtime.cpp代码吧:

至此,Lua代码通过:

cc.FileUtils:getInstance():addSearchPath("path",true)

给cocos2d-x官方的PR已提交:https://github.com/cocos2d/cocos2d-x/pull/8976

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读