文章介绍
简述
没时间玩魔兽世界,国服也正好离我们远去,综合以条件,以后我们可以学习脚本编程语言,编写“真正”自己的世界。在自己定义的世界里遨游,做主宰,嘻嘻...
引用语句:
Lua 是一种强大、高效、轻量级、可嵌入的脚本语言。它支持过程编程、面向对象编程、函数编程、数据驱动编程和数据描述。
起源于巴西上个世纪90年代,lua是由标准的C语言作为底层语言开发而成的,在所有操作系统和平台上都可以运行,是嵌入式脚本的最佳选择。广泛应用于游戏,应用程序,包括魔兽世界、QQ三国等都在用。
工具安装配置和下载
要开发必须要利器,lua是脚本开发工具比较多,例如:
- LuaStudio
- LuaEditor Pro
- x-studio-
- Lua调试工具(Decoda)
- lua for windows(lua开发环境)
- Notepad++
- Visual Studio Code 下载地址
相关工具根据自己需要下载使用,笔者用的是vs。
相关插件:
Chinese (Simplified):简体中文
Lua和Lua debug:
创建对应的文件即可编写Lua代码了,注意创建文件的后缀名要以 .lua 结尾,即要带着后缀名格式,否则VSCode是识别不出来是什么东西的,因为它本身就是一个编辑器,而不是IDE那种集成环境
vscode-icons
Code Runner:它可以智能的管理VSCode上面编程语言的运行环境,不仅Lua,其他所谓的C、C++、Java那些语言都可以使用,最大的方便之处就是,安装后可以直接右键运行代码了!
单独下载环境: 目前版本是lua-5.4.2。
在系统环境里配置安装的lua路径即可。
cmd输入指令:lua -v 如下说明成功配置。
Vs里简单输入代码测试看是否可用,如果报错重启Vs即可。
快速看基础知识
一些常用的关键字一览
这里说下end关键字是function 结束语以end结束,例如:
function myFun()
print("我在看")
end
数据类型
Lua语言共有8种基本类型。
nil( 空,无效值 ):有且仅有值nil,表示一个无效值(在条件表达式中相当于false);
boolean( 布尔):包含两个值:false和true;
number( 数值 ):double(双精度)类型(默认类型可以修改 luaconf.h 里的定义);
string( 字符串 ):字符串由一对双引号或单引号、双小括号来表示;
function( 函数 ):由C或Lua编写的函数;
thread( 线程 ): thread 用来表示执行的独立线路,用来执行协同程序;
userdata (用户数据):是一种用户自定义数据,用于表示一种由应用程序或 C/C++ 语言库所创建的类型;table (表):可以实现数组,哈希表,集合,对象;
table:
table 是 Lua 语言中最主要和强大的数据结构。使用表, Lua 语言可以用一种简单、统一且高效的方式表示数组、集合、记录和其他很多数据结构。 Lua 语言中的表本质上是一种辅助数组。这种数组比 Java 中的数组更加灵活,可以使用数值做索引,也可以使用字符串或其他任意类型的值作索引( 除 nil 外 ) 。
创建表的最简单方式:
a = {}创建数组:
arr = {"a","b","c"}
获取数组中的值:
输出是
复杂点的table值结构:
arr = {1,A="A","B",2,C=4}
arr["D] = 10
另2中获取table值的方式:
arr.A或arr["A"] 输出都会是:A、A
注意:以上情况是针对有key值的,比如A这个key值。
运算符
Lua 中支持的运算符有算术运算符、关系运算符、逻辑运算符等。
算术运算符
+ 加法
- 减法
* 乘法
/ 除法
% 取余
^ 乘幂
- 负号
关系运算符
== 等于
~= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
例如:
16==16-->true
13~=13-->false
20>15 -->true
20<11 -->false
23>=13 -->true
21<=13 -->false
逻辑运算符
and 逻辑与 A and B &&
or 逻辑或 A or B ||
not 逻辑非 取反,如果为 true, 则返回 false !
其他运算符
.. 连接两个字符串
# 一元预算法,返回字符串或表的长度
条件语句的形式
if()then语句:由一个布尔表达式作为条件判断,其后紧跟其他语句组成。
if 语句:可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码。
if 嵌套语句:可以在if 或 else if中使用一个或多个 if 或 else if 语句 。
小结:Lua 认为 false 和 nil 为假,true 和 非nil 为真。
例如:
输出:0 为 true
注释
单行注释
两个减号是单行注释:
--
多行注释
--[[
注释A
注释B
--]]
总结:
以上是最基础的知识,多看看很快就会使用,后面会介绍如何在wow里写脚本开发游戏功能。