![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua
文章平均质量分 56
Yueya_Shanhua
╮(╯3╰)╭其实我就喜欢一本正经的胡说八道
展开
-
lua(1)-环境配置
说到游戏开发,就不得不提到lua,lua作为一种简单、可扩展、可移植及高效的脚本语言,广泛地被用于网络游戏以及手机游戏中。写游戏常常需要跟lua打交道,还是做些笔记记下来吧,以后想看方便找= =。(1)搭建lua环境。由于lua是脚本语言,lua的编译与执行需要解释器程序的支持。PC平台上,我们可以去下载Lua for Windows.exe,网址为http://luaforge.net/原创 2016-08-04 11:32:57 · 1314 阅读 · 0 评论 -
lua(2)-基础方法&语法
续上一篇,lua环境搭建完毕后,我们来了解它的一些基础的方法和语法。在lua的安装目录下,找到docs目录,里面有一个lua的帮助手册,里面有非常详细的api以及语法方面的记载。打开手册后我们点击搜索搜索contents,找到Lua 5.1 Reference Manual - contents可以看到这里给了非常详细的分类列表,包括原创 2016-08-04 11:41:28 · 724 阅读 · 0 评论 -
lua(3)-string字符串&math数学库
(1)string字符串1、字符串连接符".."使用".."符号可以将两个字符串相连接,等价于C#或Java中的string a + string b,如果“..”两边有一个是数字的话,".."操作符会把数字变成字符串输出2、Lua的字符串包含string库,可以借助string库函数来便捷地使用string输出3原创 2016-08-04 15:07:47 · 1250 阅读 · 0 评论 -
lua(6)-元表(metatable)和元方法(meatmethod)
通常,Lua中的每个值都有一套预定义的操作集合。例如,可以将数字相加,可以连接字符串。但是我们无法将两个table相加,无法对函数作比较,也无法调用一个字符串。因此可以通过元表来修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定的操作。例如,假设a和b都是table,通过元表可以定义如何计算表达式a+b。当Lua试图将两个table相加时,它会先检查两者之一是否有元表,然后检查该元表中是原创 2016-08-17 17:55:43 · 3205 阅读 · 2 评论 -
lua(7)-C API
Lua是一种嵌入式语言,支持被其他语言如C、C++调用,这时候lua被当成是一个c++的库,c++引用了这个库提供的c++接口,就能对lua脚本进行操作。lua提供了一个虚拟栈,与C、C++语言实现通信是在这个栈里面实现的,lua在这个虚拟栈内解决交互时内存释放方式的差异性(lua有垃圾回收机制,c和c++要求显式释放内存)、类型使用的差异性(C和C++使用静态类型,lua使用动态类型)。首先原创 2016-08-17 21:29:29 · 836 阅读 · 0 评论 -
lua(8)-C API 2[C++与lua的交互]
上一篇我们提到许多c的api,这一篇我们就来看看如何实现基本的C++与lua的交互。(1)基础示例首先我们打开VS,新建一个c++控制台程序lua1,在我电脑上,这个新建的c++项目路径是F:\VSProject\lua1。然后在lua的安装目录下找到include和lib文件夹将include和lib文件夹拷贝至新建的c++项目中,拷贝到和.sln解决方案文件同一目录原创 2016-08-18 14:49:00 · 898 阅读 · 0 评论 -
lua(9)-模块和自定义loader
在实际的项目中,往往不会只有一个.lua文件,而是有多个.lua文件一起在跑,这就需要宿主程序在开始运行的时候把所有需要用到的.lua文件全部加载,这一步通常是由require代为完成。通常程序里第一个被加载的.lua文件会作为入口文件,由这个入口文件来require其他.lua文件,从而实现对所有.lua文件的加载。 lua官方提供了require、module函数来加载多个lua文原创 2016-08-18 15:39:38 · 3318 阅读 · 2 评论 -
lua(4)-函数
lua中函数的声明和定义需要使用function关键字,并且用end结束定义区域(1)Lua的函数没有太严格的形参必须与实参一 一对应的规则,一个函数可以带0个或多个形参,实际调用的时候也可以传递0个或多个实参输出(2)Lua里的函数还有一个非常与众不同的规则,就是允许返回多个值输出(3)变长参数使用"..."可以编写出能接受原创 2016-08-11 21:05:53 · 823 阅读 · 0 评论 -
lua(5)-table(表)
table(表)是lua中唯一的数据结构,用table可以实现模块(module)、包(package)和对象(object)的表示。比如io.read中的io就是一个模块,read就是io模块中的一个索引(使用字符串"read"作为read方法的索引)。程序中仅持有一个对tabel的引用(就像静态变量那样)。(1)table的构造式。构造式是用于创建和初始化table的表达式。最简单的构原创 2016-08-12 14:46:57 · 1553 阅读 · 0 评论