手机版
网站地图
美文美图
最新动态
你好,欢迎访问
好美文阅读网
个性皮肤
搜索
网站首页
美文
文章
散文
日记
诗歌
小说
故事
句子
作文
签名
祝福语
情书
范文
读后感
文学百科
美文摘抄
节日文章
名家散文
网名大全
座右铭
口号大全
面试技巧
说说大全
阅读答案
诗词默写
流言蜚语
节日祝福
好句子
经典台词
谚语大全
亲情故事
友情故事
表白情书
工作报告
活动总结
心得体会
专题汇总
美文网首页
Unity热更新
游戏热更新之Lua脚本组件挂载(Unity-XLua)
游戏热更新之Lua脚本组件挂载(Unity-XLua)
作者:
程序小妖精
| 来源:发表于
2019-06-12 17:27 被阅读62次
游戏,当然要热更哦,否则资源程序变动时,重新下载安装包,费时费事,用户流量流失。当然我们Unity开发引擎来讲解,用的是腾讯的XLua,在这要感谢一下腾讯做出的贡献。话不多说,开始撸代码。
热更新,我们更的是资源,和逻辑代码,所以有了所谓的资源热更,代码热更。资源的话,我们一般会打成ab包,放在服务器,更新下来,这一块在我的文章MD5校验和资源代码热更有讲到,可以去看一下。但代码热更,我们就会用到lua去开发逻辑代码,那么Lua脚本怎么执行呢!成为阻力,给大家讲解一下。我们Unity中,可以执行理解为执行的都是组件,C#代码可以当成组件,挂载在物体上,我们就以这个为思路,我们把Lua脚本也当成一个组件,AddComponent加载到物体上,Lua脚本是无法这样挂载到物体上的,这时我们就需要一个中介,事先写好的通用组件C#代码来连接我们的Lua脚本,接下来看代码
我们建一个LuaComponent.CS的脚本,如下
我们能用到的函数模板声明,如luaStart 相当于我们C#中的Start.
这个方法,看到了GameObject,LuaTable,把声明的lua脚本加载到物体上
初始化lua函数模板
C#函数和lua函数映射。
这个通用中介脚本写好了,先放一下,接下来,我们写一个lua逻辑脚本,比如登录界面
里面的方法逻辑如Awake方法,我们声明我们的UI
注意注意,讲解一下,这里的Awake,Start,等系统方法函数是和我们LuaComponent.cs
这个方法对应着的。
还有一个非常重要的就是逻辑代码里要有
加入原表
到此为止,我们的逻辑代码也有了,组件代码也有了,关联也知道了,怎么运行呢
简单呀,我们写一个Lua脚本配置类,XLua里我们可以把他设置为程序入口(相关可以去GitHub上学习一下
,此文章不做讲解,下次文章讲解这一块)
Lua配置类LuaToCsConfig.lua
我们首先判断是否为当前场景,如
如果是当前场景,我们找到我们要添加脚本的物体,当然我们也可以直接在此物体上挂上LuaComponet.cs脚本,
比如LoginPanel这个Gameobject,如果为空的话我们就创建这个物体,然后我们在这个物体上加载上我们的登录Lua脚本LoginView
好了,这样逻辑代码我们就可以用lua写了,当添加功能或者修改lua脚本,只需要把修改的放在服务器上,与本地的通过md5校验,就可以实现热更新了。
我的一句话:喜欢的话,点个赞,有帮助的话,赏1毛。
相关文章
网友评论
Unity热更新
本文标题:
游戏热更新之Lua脚本组件挂载(Unity-XLua)
本文链接:
https://www.haomeiwen.com/subject/klxzuxtx.html
延伸阅读
那年盛夏诗歌
环境监察队工作总结范文
优秀教师学习心得范文
华胥引的读后感300字
《Its red》教学反思范文
农资购销的合同范本
竞选中队委优秀演讲稿
辞金蹈海的成语解释
《世纪宝鼎》公开课教案设计
因为爱你,所以牵挂
今生今世红尘醉——美到
一个90后的内心独白
致已逝去的高中年华
深度阅读
您也可以注册成为美文阅读网的作者,发表您的原创作品、分享您的心情!
情人节
母亲节
重阳节
清明节
端午节
植树节
元宵节
妇女节
愚人节
圣诞节
父亲节
教师节
儿童节
劳动节
青年节
建军节
万圣节
平安夜
光棍节
中秋节
国庆节
感恩节
腊八节
更多话题
栏目导航
Unity热更新
摄影
故事
互联网
读书
旅行
热点阅读
郑板桥
幼儿园职业道德——责任心
我的同事因为主管的脚臭离职了~!
【笔名更新】“柯锦川子”更名“柯锦川”
所谓的捷径,并不都是直线
外在形象到底有多重要?
笔试题 计算机
偷偷地
积极的悲观主义者——果断选择,勇敢前行
随时准备说谢谢~家书
Unity热更新
iOS Project Builder for Unity
Unity ToLua & LuaFramework_
游戏热更新之Lua脚本组件挂载(Unity-XLua)
Unity之Android平台热更新目录
网友评论