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
