Lua是一个小巧强大的脚本语言,在游戏领域特别好用。特别是在手游端,常常用于热更新。
热更新的大致流程:
热更新的学习大致流程:
Lua脚本语言注意要点:
lua在保存文件的时候,需要加上一个文件后缀.lua
lua中声明变量不需要给变量赋予类型
type()可以获得变量的类型
每行结尾不需要一个分号
lua没有int类型或浮点类型,只有一个number类型
lua里面数组为table类型,其索引下标从1开始,而C系列语言为0开始
lua声明变量,默认都为全局的,若需要局部变量,需要使用关键字local
lua里面逻辑运算符为:and,or,not对应于与,或,非
注意:lua里面没有自增、自减的运算符 (++,–)
%求余
lua多行注释:–[[someting]]–
lua流程控制(if)语句:
if [condition] then –方括号里面是条件,方括号不写
–do someting
elseif [condition] then
–do something
else
–do something
end
循环结构:
while [condition] do
–do something
end
repeat循环:(相当于do while循环)
repeat
–do something
until[condition]
for循环:
for index=[start],[end] do
//do someting
end
ps:break可以终止循环,但是没有continue语句
lua函数定义:
function[name](param1,param2)
–do something
return
end
lua内置数学函数库:
math.abs
math.cos
math.max
math.maxinteger
math.min
math.random
math.sin
math.sqrt
math.tan
lua字符串处理内置函数:
string.byte //
string.char
string.find
string.format
string.lower //大写转小写
string.sub //
string.upper
tostring()//把一个数字转化为字符串
tonumber()//把一个字符串转化为数字
lua中的table表:(类似于C#的字典,是一个key-value键值对的数据)
结构)
-- 初始化表
mytable = {}
myTable = {name="vencent",age=22}
--访问
print(myTable["age"])
print(myTable.age)
-- 指定值
mytable[1]= "Lua"
mytable["name"]="vencent"
mytable{1,2,34,5} //没有键,类似数组
--
print(mytable[1]) //访问数组第一个值
-- 移除引用
mytable = nil
-- lua 垃圾回收会释放内存
table.getn()//得到数组容量
表的遍历:利用类似for循环的结构
循环表里表中键值对:
for index,value in pairs(myTable)
//do something
end
print(index,value)
示例:
mytable = {name=”vencent”,age=22}
for index,value in pairs(mytable) do
print(index,value)
end