数据类型及基本语法
Lua基础类型
| 参数名称 | 参数类型 | 举例 | 元梦元梦扣叮中同样的类型 |
|---|---|---|---|
| 布尔 | boolean | true | 变量—布尔值 |
| 数值 | number | 10.2 | 变量—数值 |
| 字符串 | string | ”示例字符串” | 变量—字符串 |
| nil | nil | 表示对象不存在 | 无 |
| 表 | table | {a=123,b=“甲乙丙”} | 无 |
| 函数 | function | function() print(“函数”) end | 自定义—常规函数/取值函数 |
扩展类型
为了方便编程,在元件脚本中我们额外添加了一些变量类型。
| 参数名称 | 参数类型 | 举例 | 元梦扣叮中同样的类型 |
|---|---|---|---|
| 三维向量 | Engine.Vector | Engine.Vector(1,0,0) | 变量—向量 |
| 旋转 | Engine.Rotater | Engine.Rotater(0,0,0) | 变量—向量 |
| 颜色 | Engine.Color | Engine.Color(0,0,0) | 十六进制代码 |
| 四元数 | Engine.Quat | Engine.Quat(0,0,0) | 无 |
定义变量
下面我们来使用Lua定义一个变量并日志打印它的类型,创建模板工程后,将下面的代码复制粘贴到GameClient.lua文件中的第一行:
local ab --与元梦扣叮不同,Lua创建变量时不一定要确定它的类型local ab_type=type(ab) --获取ab的类型print(ab_type) --日志打印:nil如果一个变量没有类型或者没有值,那么它就是nil
- 如果有使用过元梦扣叮,那么该操作类似于下面这样:
变量赋值
接下来我们通过等于号(=)给定义的变量赋值,将下面代码复制粘贴到之前的Lua脚本下,变量需要先定义才能赋值,定义和赋值可以同时完成。
ab=10 --10赋值给ab,此时ab就是number类型print(ab) --日志打印:10----------------------------local cd=12 --定义和赋值可以同时完成print(cd) --日志打印:12- 如果有使用过元梦扣叮,那么操作类似于下面这样:
变量类型转换:
在Lua中,同一个变量可以通过重新定义与赋值转换为其他数据类型。
local score = 100 --创建了一个名为score的变量。并且给它赋值100print(type(score)) --日志打印:number 此时它的类型是numberlocal score = tostring(score) --使用tostring函数转换score的类型print(score) --日志打印:100 score的值是"100"print(type(score)) --日志打印:string 此时它的类型是string- 如果有使用过元梦扣叮,那么操作类似于下面这样:
下面是一个例子:打印一个随机数字并作为信号发送至场景。
local new_number --创建一个nil变量new_number=math.random(1, 10) --给new_number赋值1到10之间的随机数System:FireSignEvent(new_number)--作为信号发送到场景,这里也可以通过tostring()转化为字符串print(new_number) --打印到VS Code输出栏- 如果有使用过元梦扣叮,那么操作类似于下面这样: