开发环境: 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 ,再次执行 require("game.UIShowPanel