我使用的版本是Cocos2d-lua 3.5
热更新是按照quick版本的帖子移植过来的, 现在只有一个问题:
我是使用quick的 compile_scripts 工具 将我项目中的login, game, 这两个文件生成对应的zip包.
项目启动时通过 CCLuaLoadChunksFromZIP 引用 zip 包, 但是接着往后执行, 就遇到问题了.
在没使用zip, 纯src代码执行时, 引用 login/Login.lua 时, 是这样用的
require(‘login.Login’).new():run()
但是当使用了 CCLuaLoadChunksFromZIP 引用了login.zip时,
‘login.Login’ 是找不到对应的Login.lua, 只能修改为 ‘Login’ 才能找到,
因为查看CCLuaStack.cpp代码中的 luaLoadChunksFromZIP 方法
它只是将zip包中的每个文件名作为参数
lua_setfield(L, -2, filename.c_str());
这样的话, 就只能通过Login才能找到对应的文件, 它没有为它添加前缀, 比如 login.Login
不知道你们看懂了我的问题没
贴下部分log
lua_loadChunksFromZIP() - load zip file: C:/Users/zzz/AppData/Local/luaapp/res/lib/login.zip*
add events to preload
add init to preload
add Login to preload
add models.DataModel to preload
add models.facebook to preload
add models.SDKModel to preload
…
谢谢了!