xlua学习2 用lua对unity中的UI热更新

介绍

我们在这一篇学习简单的使用lua对UI进行热更新。

过程

首先创建一个最普通的按钮,然后把上一篇写的交互脚本拖上去,用来读取lua文件中的awake,start,update,onDestroy方法,当然这些方法你可以自己定义。我们主要关心的就是unity中的几个生命周期回调。
在这里插入图片描述
然后我们需要编写一个自己的lua脚本对ui进行控制。
写好之后把它命名为xluaUITest.lua.txt拖给交互脚本。

local testButton;--测试按钮
--唤醒
function awake()
	print("awake");
	testButton=self:GetComponent(typeof(CS.UnityEngine.UI.Button));--获取按钮,lua没有泛型,所以传个type进来
end
--开始
function start()
	print("start");
	testButton.onClick:AddListener(onButtonClick);--监听点击事件
end
--更新
function update()

end
--销毁
function onDestroy()
	print("destroy");
end
--点击方法
function onButtonClick()
	print(testButton.name.."333".."被点击");
end

测试一下,有效
在这里插入图片描述

假设我们此时想要对按钮进行更新,修改了点击方法中print的内容,删掉"333"
在这里插入图片描述
这样我们只要修改lua文件中的代码,把新的lua文件传到服务器,再从服务器下载最新的lua代码,就可以对UI进行热更新了。

注意事项

写完lua代码并且改为txt放入unity之后,你可能会发现在编辑器里看不到内容,并且代码也不生效。这是因为txt中的编码不是uft-8。
在这里插入图片描述
打开IDE,找到Open User Options File,输入两行代码,就可以修改设置IDE中的编码为utf-8了在这里插入图片描述

code.page=65001;
output.code.page=65001;

另附IDE下载地址:https://github.com/rjpcomputing/luaforwindows/releases
如果无法安装则需要下载一个运行库vcredist_x86.exe
地址:https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/luaforwindows/vcredist_x86.4053.exe

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值