coso2dx-lua 电脑模拟器 , 不重启游戏 直接让修改过的 lua 代码 生效

本文介绍了在Cocos2d-x Lua项目中如何实现在不重启游戏的情况下,让修改后的Lua代码立即生效。通过重写`require`函数,清空`package.loaded`表的相关条目,确保每次都能从文件重新加载代码,从而提高了开发效率。需要注意的是,这种方法可能会降低运行效率,应在开发版本中使用。
摘要由CSDN通过智能技术生成

开发环境: ui 编辑器  cocos stuidio   
                   代码编辑器   sublime

问题是:当我调整过一个 lua 文件时,

比如 self.text:setPositionY(100)

改成 self.text:setPositionY(200)  , 

我需要保存文件,然后重新开启客户端,然后点击进到刚刚修改的页面查看效果 。 

如果效果不是很满意,可能修改多次修改, 耗时比较长

当重新启动游戏时间比较长时,修改成本就比较大了。 

解决思路:

 让修改过的 lua 代码立刻生。、

    修改 lua  require 函数

解决方法:
    lua require  不会每次都去加载文件,而是只有第一次 加载时 加载文件,以后 每次require时 ,都是返回内存中 已经加载好的

数据, lua 是 通过 package.loaded  表来维护已经加载数据 ,

比如 local t =  require("game.UIShowPanel")

package.loaded["game.UIShowPanel"] = t 

以后 require 时 则会直接返回 package.loaded["game.UIShowPanel"]  而不是  加载文件

但是我们现在 ,需要让他 每次都去 加载文件, 这样就能让我们修改过的lua 代码直接生效,

我们只需要 将 设置 package.loaded["game.UIShowPanel"]  = nil  ,再次执行  re

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值