Lua(一)——Lua介绍
发布日期:2021-06-30 19:58:51
浏览次数:3
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月01日 21时26分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
攻防世界web进阶PHP2详解
2019-04-30
攻防世界web进阶区web2详解
2019-04-30
xss-labs详解(上)1-10
2019-04-30
xss-labs详解(下)11-20
2019-04-30
攻防世界web进阶区ics-05详解
2019-04-30
攻防世界web进阶区FlatScience详解
2019-04-30
攻防世界web进阶区ics-04详解
2019-04-30
攻防世界web进阶区bug详解
2019-04-30
攻防世界web进阶区ics-07详解
2019-04-30
攻防世界web进阶区unfinish详解
2019-04-30
攻防世界web进阶区i-got-id-200超详解
2019-04-30
sql注入总结学习
2019-04-30
leetcode46 全排列
2019-04-30
leetcode 122 买卖股票的最佳时机II
2019-04-30
leetcode 309 最佳买卖股票含冷冻期
2019-04-30
leetcode 714 买卖股票的最佳时机含手续费
2019-04-30
leetcode3 无重复字符的最长子串
2019-04-30
leetcode 1143. 最长公共子序列
2019-04-30
leetcode 83. 删除排序链表中的重复元素
2019-04-30
智能体 Intelligent Agent
2019-04-30