cocos2dx开发过程中的lua热更

本文介绍了在Cocos2d-x开发中如何实现Lua脚本的热更新,包括监控文件变化、处理文件改动、Lua中获取修改文件列表以及在5.1版本上的适配问题,同时提出了匿名函数无法更新的问题。
摘要由CSDN通过智能技术生成

一、目的

平时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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值