一、目的
平时window下的cocos开发,使用的是编译好的exe,开发过程中每次修改代码想看下效果,都需要F5重启exe,更繁琐的是,还要重新登录,进入大厅,子游戏等一系列操作。影响开发效率,所以希望每次改动代码后,不需要重启,能有某个按键有类似刷新的功能,将修改后的代码替换内存中的代码。
二、前提
希望能够修改某个文件,则更新内存中对应的文件内容,那么需要知道修改了哪个文件,需要增加一个window下监控文件的功能。cocos2dx增加window的文件监控
三、lua获取修改文件列表
完成第二步后,lua中能够监控window上某个文件夹中文件的变化,每次文件变化,都会在c++侧先存着,等待lua侧获取。在游戏中的顶级场景中做键盘的监控,并开启监控文件夹变化的线程。
-- 监听S键
local MINITOR_KEY = cc.KeyCode.KEY_S
local monitorDir = "G:\\baisheng\\game66_fenbushi\\newResProject\\src"
function FileWatchUtils:init(target)
if tolua.isnull(target) then return end
local function onKeyReleased(keyCode, event)
if keyCode == MINITOR_KEY then
self:dynamicUpdate()
end
end
local listener = cc.E