Quick-cocos2d-x的热更新机制实现(终极版2)(更新3.3版本)

我不是三刀。

饿。。。我想问下, 更新后的资源是放在那个目录下呢?
是在res目录下 ,还是放在res/upd下的
还有,upd 目录的作用主要是干嘛的呢

楼主 有个问题不是很清楚 请教一下
关于 lua的 package.path的问题 也就是 lua require 和dofile 的 路径问题。
因为 LuaStack 也有addSearchPath,FileUtils也有addSearchPath,在楼主的方案中 没有更改 LuaStack 的搜索路径,
而lua中 print package.path也没有 writablePath 的路径。 但是require 或者 dofile 的时候 都可以找到writablePath中的文件。
所以这个地方有点困惑, require 的时候不是 找的是package.path 的所有路径吗。
还是说 cocos做了处理,先用FileUtils 加载文件,然后交给lua虚拟机执行?这样的话 LuaStack 就不需要设置SearchPath了吧?
望解惑,谢谢

更新的目录上是在"writablePath" 下的upd/下 这个目录主要放下载下来的有改动的资源或者新添加的资源。

你看看cocos2dx_lua_loader 这个方法就明白了。

那这样 下载下来的有改动的资源或者新添加的资源 会不会添加到 res目录下呢?
否则游戏程序 怎么去找 这些资源呢

这块设置了文件搜索路径优先级 先去upd/目录去找 没找到再去res/目录去找的,我这个更新机制里面都有实现,按照流程看就能明白了。

是c++ 实现了?还是lua实现了,我看c++ searchPaths.push_back(sharedFileUtils->getWritablePath() + “upd/”); 有加了这句

3.3 final andriod 测试找不到新增的图片资源。

是C++实现的。

是3.3的版本就不用getAppBaseResourcePath() 这个方法了吗?
直接
searchPaths.push_back(sharedFileUtils->getWritablePath() + “upd/”);就行吗?

感谢,已经解决了

楼主你好,谢谢你提供的这套更新代码,对我的项目帮助很大,我已经自己跑通了。同时也遇到一些问题,希望你有空能回复下。
我用的是quick3.3fina版本,运行环境win32,我在项目的res目录下面建立flist文件,检测更新没问题,但是这样只能更新res下面的资源,
如果我想同时更新res和src下的文件,应该怎么做了。我试着把flist文件放在游戏的根目录下面,重新生成flist文件,运行游戏发现检查更新
失败。调试发现检查逻辑里面貌似是以res为根目录的检测的。有点搞不清楚,应该怎么修改才能满足我的需求了。希望楼主能够帮忙分析解决下,谢谢。

权限不足,不能下载,好烦

解决就好。

2个目录的原理是一样的啊 你可以做成upd/res/, upd/src/

不需要权限吧。我没有设置 都可以下载的。

换mac又可以下载了,奇了怪了。谢谢楼主,有问题再请教,刚起步

恩, 有问题,我看到了会及时给与答复的。

问个问题,quick2.x 加密然后在俩中写CCLuaLoadChunksFromZIP(“res/game.zip”)会有错误的哎,你们是怎么处理的呢。“AudioEngine”, error: syntax error during pre-compilation.