首页 > 代码库 > 《LUA游戏开发实践指南》学习笔记1
《LUA游戏开发实践指南》学习笔记1
本文只做个人学习笔记!
Lua脚本语言的优点:免费、小巧、快速和易移植。
游戏项目中的Lua,可以完成以下工作
编辑游戏用户界面(玩家和你的游戏进行交互的媒介)
定义、存储和管理游戏数据(Lua本人并没有直接访问外部数据库的能力,但可以使用C++组件)
管理游戏实时事件
创建和维护开发者有好的游戏存储和载入系统
编写游戏的人工智能(AI)
创建功能原型,可以之后用高性能语言移植
Lua入门
Lua控制台
lua脚本(扩展名为.lua的文本文本)
代码块(Chunk):单个命令或者一系列命令组成脚本文件
dofile:用来立即执行脚本
“\\”代替单斜线,单斜线是用来告诉lua运行环境他后面的特殊符号
Lua基础
1优势:可以整合C++模块来扩展自身功能
2语言定义:不能以数字作为起始符,也要避免下划线(_)接大写字母
3lua保留关键字:
and | local | break | nil |
do | not | else | or |
elseif | repeat | end | return |
false | then | for | true |
function | until | if | while |
in |
4变量:变量不需要在使用前声明,类型取决人用户给它赋的值
5种变量类型:nil、Boolean、string、Number和table
nil:用来表示这个变量还没有被赋值。例如:myValue = http://www.mamicode.com/nil
Boolean:变量只有两种true和false。例如:myValue = http://www.mamicode.com/true
string(字符串):Lua中字符串可以小到一个字符,也可以包含百万字符以上
Number(双精度浮点数)
table(数据类型)
5局部变量和全局变量
默认是全局的
变量的有效范围取决于声明变量的位置,例:
function Myfun()
local myX = 7
if myX < 10 then
local myY = "hello world"
print(myY)
end
print(myY)
end
执行结果:
hello world
nil
运算符(特殊符号):可以让两个值得出运算结果
算术运算符:+-*/(a+b=c)
关系运算符:==、~=、<、>、<=、>=(if(a == b)特殊:table,只有两个table是同一个对象的时候才能得到预期结果)
逻辑运算符:and、or、not
and | 比较两个参数时,如果第一个是false,就返回false否则返回第二个参数值 | ||
or | 与and正好相反 | ||
not | 返回true和false,false和nil会被当成false,其它为true |
6控制结构
所有控制结构都以end作为结束标记
if:如果是true程序块就会被执行,例如:
function Myfun()
a = 7
if a<10 then
print("<10")
end
if a>5 then
print(">5")
end
end
结果:
<10
>5
while 和 repeat:都可以循环执行一段脚本(while先判断,repeat后判断(保证程序至少执行一次))
for:可以让用户根据表达式的值有限次地执行一段脚本
for index=1,10 do
print(index)
end
for后需要提供变量值范围,遍历这个范围的每个值的同时程序块被执行,end结束
break:可以从循环控制结构中强制退出
今天就总结这里吧......
《LUA游戏开发实践指南》学习笔记1