Lua(一)——Lua介绍
发布日期:2021-06-30 19:58:51
浏览次数:2
分类:技术文章
本文共 1329 字,大约阅读时间需要 4 分钟。
一:什么是Lua?
Lua是一种轻量小巧的脚本语言,它由标准的C语言编写并且是开源的,可以很方便的和其他程序进行集成和扩展(C#,Java.....),其设计目的是为了嵌入应用程序中,为应用程序提供灵活的扩展和定制功能。
一般来讲Lua不能单独用于一款游戏的开发,因此对于一个Unity项目,一般先用C#进行开发,后续的热更新再通过Lua来完成,从这里可以知道两点:
- Lua语言的目的是嵌入式,一般用于为其他语言开发出来的项目进行功能的扩展和补丁的更新
- 在最开始使用其它语言进行项目开发的时候,需要预留与Lua代码的“交互接口”
二:为什么要使用Lua
在玩任意一款手游的时候,一般来讲客户端刚启动往往都会进行版本检查,如果需要安装新的补丁(往往很小的那种30KB~5MB),就会现场安装,安装成功后再进入游戏,这个过程非常的短暂,这即是热更新,需要Lua进行支持,换句话说:热更新是指可以在不关闭游戏客户端的情况下,动态的更新游戏本身的资源,如果没有热更新,那么每次玩家更新都需要重新下载客户端,这其实是非常糟糕的。要知道有些游戏还非常的大,而每次更新的内容可能又非常的少(例如修复BUG修改数值等等)。
三:Lua与C#的区别
——C#需要编译为dll文件(需要编译),而Lua不需要:Lua几乎可以在所有的操作系统和平台进行编译运行,当更新了代码后,可以直接在手机上编译运行,不需要通过安装包重新安装游戏。
C#只能在特定的操作系统中编译成dll文件,打包进安装包安装后运行,在移动平台上不能更新替换dll文件,除非重新编辑打包进安装包重新下载安装。可以简单的理解为当我们安装一个程序到移动端,当代码有修改时,如果它的代码是用C#编写的需要在IDE中重新编译代码重新编译成dll文件重新打包进安装包重新下载安装包再重新安装,而用Lua编写的脚本不需要重新安装程序,下载后可以直接替换。 ——C#是编译型语言,Lua是解释型语言:大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言。- 编译型语言:很多传统的程序设计语言,例如Fortran、Ada、Pascal、C、C++和Java,都是编译型语言。这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。运行程序时,直接读取目标代码(object code)。
- 解释型语言:解释型语言也被称作“脚本语言”。执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行。因为每次执行程序都多了编译的过程,因此效率有所下降。使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象;缺点是它们的效率通常不如编译型语言。不过权衡之下,通常使用脚本编程还是值得的:花一个小时写成的简单脚本,同样的功能用C或C++来编写实现,可能需要两天,而且一般来说,脚本执行的速度已经够快了,快到足以让人忽略它性能上的问题。脚本编程语言的例子有awk、Perl、Python、Ruby与Shell。
转载地址:https://liuhaowen.blog.csdn.net/article/details/88790633 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月25日 04时02分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于java的ssm框架的旅游网站设计与实现
2019-04-30
基于java的SSM框架的流浪猫救助网站的设计与实现
2019-04-30
基于java的SSM框架的教务关系系统的设计与实现
2019-04-30
别再问我什么是A/B测试了!
2019-04-30
如何用同期群分析模型提升留存?(Tableau实战)
2019-04-30
爱了,吹爆这个高颜值的流程图工具!
2019-04-30
一个数据项目
2019-04-30
基于JAVA_JSP电子书下载系统
2019-04-30
基于java出租车计价器设计与实现
2019-04-30
基于java的B2C的网上拍卖系统
2019-04-30
十二时辰篇:这该死的 996
2019-04-30
2021最新 上海互联网公司排名
2019-04-30
字节vs快手!取消大小周之战
2019-04-30
送一个闲置显示器!
2019-04-30
Oracle 行转列 pivot函数基本用法
2019-04-30
Oracle字符串分隔符替换(替换奇数个或偶数个)
2019-04-30
Oracle 利用 UTL_SMTP 包发送邮件
2019-04-30
Oracle 自定义函数实现split功能,支持超长字符串和clob类型的分隔
2019-04-30
Oracle 的循环中的异常捕捉和处理
2019-04-30
Oracle通过pivot和unpivot配合实现行列转换
2019-04-30