本文只做个人学习笔记!

Lua脚本语言的优点:免费、小巧、快速和易移植。

游戏项目中的Lua,可以完成以下工作

  1. 编辑游戏用户界面(玩家和你的游戏进行交互的媒介)

  2. 定义、存储和管理游戏数据(Lua本人并没有直接访问外部数据库的能力,但可以使用C++组件)

  3. 管理游戏实时事件

  4. 创建和维护开发者有好的游戏存储和载入系统

  5. 编写游戏的人工智能(AI)

  6. 创建功能原型,可以之后用高性能语言移植

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 = nil

Boolean:变量只有两种true和false。例如:myValue = 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:可以从循环控制结构中强制退出

今天就总结这里吧......

小编不仅仅是只是在抄总结哦,里面的所有案例都有上机,没有案例的,也会自己写一个测试的哦,做程序猿是很累的,不要手懒哦

转载于:https://blog.51cto.com/4790276/1587127

《LUA游戏开发实践指南》学习笔记1相关推荐

  1. 软件管理沉思录读书笔记

    第一部分 管理你的项目 质量之所以重要,是因为软件可能会使用十年.组织极少会弃用软件,而是通过提升和重新利用不断使用它.因此,对于软件质量的关注必须贯穿其整个生命周期. 第一章 交付高质量的产品 &q ...

  2. 设计模式沉思录 - 读书笔记(XMind)

    注:后面会不定期,以XMind的方式发布一些读书笔记. 目标:书还要是越读越薄才行!

  3. 软件开发沉思录读书笔记

    软件开发中推崇敏捷,自动化测试,减少了成本加快了速度,加快了沟通和版本之间的关系,用好的沟通来换好的软件.关于多语言开发,应该根据业务领域的不同,采用适合不同领域的编程语言,同时也要注意编程语言的跨平 ...

  4. 《C++ 沉思录》学习笔记——上篇

    文章目录 1. 总结(31-32) 1.1 通过复杂性获取简单性(31) 1.1.1 类库和语言语义 1.1.2 抽象和接口 1.2 说了 Hello world 后再做什么(32) 2. 技术(27 ...

  5. 《C++沉思录》学习笔记1

    文章目录 前言 一.类 二.改进,实现关闭跟踪输出的功能 三.改进,实现跟踪输出到不同设备的功能 四.不用类来实现上述功能 C++优秀的面向对象的核心本质 参考资料 前言 作为高级语言,C已经很强大了 ...

  6. 《C++沉思录》读书笔记

    <C++沉思录>读书笔记 序幕 动机 第1章 为什么我用C++ 第2章 为什么用C++工作 第3章 生活在现实世界中 类与继承 第4章 类设计者的核查表 第5章 代理类 第6章 句柄:第一 ...

  7. Android学习笔记---22_访问通信录中的联系人和添加联系人,使用事物添加联系人...

    Android学习笔记---22_访问通信录中的联系人和添加联系

  8. FFmpeg基础到工程-多路H265监控录放开发学习笔记

    多路H265监控录放开发学习笔记 课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等.包括:音视频.流媒体.直播.Android.视频监控28181.等. 具体 ...

  9. 【小猫爪】AUTOSAR学习笔记00-目录

    [小猫爪]AUTOSAR学习笔记00-目录   因为一个偶然的机会让我接触到了AUTOSAR,所以就花一点小小的时间来记录一下学习它的坎坷大道.这其中复制粘贴了很多,也包括了我的一些个人的小小见解和废 ...

  10. 读书笔记∣概率论沉思录 01

    概率的解释基础分为两种,一是物理世界本身存在的随机性(客观概率),二是是我们由于信息不足而对事件发生可能性的度量(主观概率).基于此,形成了概率论的两大学派:频率论学派(传统数理统计学)和贝叶斯统计学 ...

最新文章

  1. git或者ssh出错 fatal:open /dev/null or dup failed: No such file or directory、弹出mitty.dump文件
  2. python 删除字符串中空格
  3. trunc 文字与格式与字符串不符_EXCEL字符串中间数字提取进阶
  4. Netty原理二:NioEventLoop 如何启动监听事件
  5. chrome自动提交文件_实用!8个 chrome插件玩转GitHub,单个文件下载小意思
  6. android 多个占位符,Android中占位符的使用
  7. 如何隐藏 video 元素的下载按钮
  8. mysql 5.7.4 m14_win7 64位下如何安装配置mysql-5.7.4-m14-winx64(安装记录)
  9. ambiguous reference to overloaded definition(scala与java重载逻辑不匹配)
  10. jquery java aes_[代码全屏查看]-java、js之间使用AES加密通信数据
  11. 事务复制5: Transaction and Command
  12. 人人都能学会的python编程教程12:函数的参数
  13. 使用OBS做无延时/低延迟直播(实测)
  14. Kindle退市,掌阅iReader或将接过电纸书市场大旗
  15. 硬盘出现“文件或目录损坏且无法读取”的故障,怎么解决?
  16. 匈牙利算法(简单易懂)
  17. 炉石传说 酒馆战棋 战斗模拟的实现
  18. windows命令行下schtasks创建定期任务
  19. 《中国合伙人》:致我们即将逝去的青春
  20. Macbook Pro(M1芯片)腾讯会议无法使用共享屏幕功能

热门文章

  1. 【Java】@transient代表着什么
  2. python概率论_概率论中常见分布总结以及python的scipy库使用
  3. linux 安装 中文输入法,[linux]安装中文输入法
  4. 机器学习方向企业面试题(一)
  5. 宝可梦世界无限极可以玩服务器吗,口袋妖怪世界无极限运行库
  6. html元素自己属性代码,jQuery如何操作HTML的元素和属性?(代码详解例)
  7. 一阶系统开环传递函数表达式_自控原理之系统辨识--入门介绍
  8. php对键盘控制,键盘控制 - 陈映亮的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. python输出变量的值使用_Python捕获任何异常,并使用变量值打印或记录回溯
  10. jquery的语法结构包括哪几部分?_牙釉质的组织学结构具体包括哪几部分