lua语言自学知识点----简单了解
零碎知识点:
lua:用lua写UI,更新UI,因为lua可直接跨平台解析,不需要编译,方便更新------>热更新.
c#反射也可以达到更新,但非常麻烦,切不支持iOS.
在lua中一个人汉字占两个字符,删除的时候需要删两次.
用type()可以获取变量类型.
如果不定义变量类型,默认为全局变量,局部关键字为:local.
判断语句:
if xt<=0 then-----------------------------判断条件后加关键字"then"
操作..
elseif xt>0 then------------------------elseif连在一块写,区别于C#,同样判断条件后加关键字"then"
else--------------------------------------不管有没有elseif,else不可或缺!!!
end -------------------------------------判断结束加end.
循环语句:
第一种:while...end
while xt<0 then
操作......
xt=xt+1---------------------注意lua中无自增和自减,用这种方式操作!
end
第二种:for...end
do ------注意lua中索引是从1开始的,且在循环结束条件后加关键字"do","+1"自增
操作....
end
第三种:repeat...until(不需要end结束语)
repeat
操作...
until xt>100
与C#中do...while类似!
break打断循环,没有continue区别于C#!!!
函数:
格式:
function 方法名 (参数01,参数02)-------默认全局变量,有返回值,有参,用关键字"function"
return 参数01+参数02---------------------返回值
end-----------------------------------------------结束语
自带函数:(可查官方API)
math: 数学公式
.abs 绝对值
.max,min 极值
.random 随机
string: 字符串操作
.. 字符串相加,拼接
.tostring(/tonumber) 字符串格式转化
.upper(/lower) 转化大小写
.sub(str,1,length) 截取字符串(字符串,起始下标,截取长度)
.format(str,....) 字符串的拼接
table:(与C#中字典类似)
(一).创建table的三种方式:
A:
mytable={}
mytable[1]=34
mytable["name"]=xt------另一种写法mytable.name=xt
B: mytable={name="b2",age=18,isman=false}
注意用",隔开,且可以在继续添加
C: mytable={34,54,64,789,1}
因为是键值对,所以此时的key被系统从1开始赋值
(二).遍历:
1).如果是上面c类型的table
for index=1,table.getn(mytable) ,1 do--------注意遍历第一个下标为1
print (mytable[index])------------------------index已经自增
end---------------------------------------------------结束语
2).普遍适用(相当于C#中foreach)
for index,value in pairs(mytable) do
print (index ,value)
end
注意:遍历顺序是有问题的,因为字典(/table)是无序的,所以遍历有问题,但也不是无迹可寻,详情请参照"菜鸟驿站--遍历"
(三).table中的常用方法
table.getn(mytable)-----------------获取mytable的长度;
table.concat(mytable)--------------------把mytable表中所有数据连成一个字符串展示出来,必须是c格式的table
table.insert(mytable,key,value)---------插入新键值对;
A,B格式insert是新加入一个键值对
C格式中key相当于在默认值中改动
table.remove(mytable,key)-----------------移除某个键;
table.sort(mytable)-----------------针对C格式的键值进行排序;
table.move()-----------------移动数据;
table.pack()-----------------包装成一个表;
table.unpack()-----------------返回一个数组;
(四).面向对象----table之间的关系
lua中面向对象由table实现.
具体操作:
Enemy={} -------------------申明一个table
local this =Eneny----------申明 table this
函数写法一:
Enemy.Move=function()----Move为函数方法
操作....
end
函数写法二:
function=Enemy.Attack()--Attack为函数方法
操作....
this.Move()------------------调用Move方法
end
lua语言自学知识点----简单了解的更多相关文章
- lua语言自学知识点----Lua与.Net相互调用
知识点: LuaInterface作用是用来完成Lua与C#的相互调用. LuaInterface核心库:1.luainterface.dll 用于C#读取lua(放在bin目录同级) 2.luane ...
- Lua语言自学之01.基础概念的理解
编程不只是这么简单,它的思维是理性的编程思维,操纵机器干事本来就不是一件简单的事,要干什么,该怎么做,怎么做得才好. 脚本的概念在程序中十分重要,在游戏开发领域,它更是决定性的.脚本语言让程序员可以区 ...
- Unity进阶----Lua语言知识点(2018/11/08)
国内开发: 敏捷开发: 集中精力加班堆出来第一个版本 基本没啥大的bug 国外开发: 1).需求分析: 2).讨论 3).分模块 4).框架 5).画UML图(类图class function)(e- ...
- C/C++编程笔记:C语言入门知识点(三),请收藏C语言最全笔记!
今天我们继续来学习C语言的入门知识点,第一课:C/C++编程笔记:C语言入门知识点(二),请收藏C语言最全笔记! 21. 输入 & 输出 当我们提到输入时,这意味着要向程序填充一些数据.输入可 ...
- 【quick-cocos2d-x】Lua 语言基础
版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...
- 编译并使用Lua语言
Lua是一个小巧的脚本语言,该语言设计的目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. 可扩展性.Lua的扩展性非常卓越,可以通过Lua代码或C代码扩展,很多功能可以通过外部库来扩 ...
- lua 语言笔记
Lua语言基础汇总(1) -- 类型与值 基础介绍 Lua是一种动态类型的语言.在语言中没有类型定义的语法,每个值都带有其自身的类型信息.在Lua中有8种基本类型,分别是: nil(空)类型 bool ...
- Cocos2d-x-Lua (2.x)脚本开发之 Lua语言基础
从今天開始,往后将陆续更新Lua教程,主要是搭载Cocos2dx ,有不论什么疑惑或者不正确的地方.尽情指正.交流.探讨. 那么首先肯定是Lua语言基础的知识点.以下直接附上代码,凝视已经非常清楚.无 ...
- Lua语言中文手册 转载自网络
Programming in LuaCopyright ® 2005, Translation Team, www.luachina.net Programming in LuaProgramming ...
随机推荐
- 记录一个nginx的配置
rt #user xiaoju; worker_processes ; #error_log logs/error.log notice; #error_log logs/error.log debu ...
- 如何配置adb环境变量
如何配置adb环境变量? 1.我的电脑---控制面板---高级系统设置 2.点击[高级系统设置],弹出系统属性的弹框, 3.点击[环境变量],弹出环境变量弹框,新建一个系统变量,命名为Android ...
- Selenium WebDriver的实现及工作原理
笔者最近研究学习了selenium的实现和工作原理,阅读了selenium3.141.59的Java源码,没有读完哈...重点从两个接口(org.openqa.selenium.WebDriver和o ...
- python爬虫之如何随机更换User-Agent
python爬虫爬取网站内容时,如果什么也没带,即不带报头headers,往往会被网站管理维护人员认定为机器爬虫.因为,此时python默认的user-agent如Python-urllib/2.1一 ...
- ubuntu下 将证书导入java的cacerts证书库
首先,说下java的cacerts证书库: JAVA_HOME目录下的jre的cacerts 主要的步骤有4个: 生成证书 导出证书 导入证书 生成证书(此处CN的值为localhost或者你想设置的 ...
- Linux命令学习: grep命令
grep 查找命令 遍历当前目录下的所有文件,查找文本所在的文件 grep -r "hello"
- Python实现RSA无填充加密,兼容BouncyCastle
场景 某系统登录时密码经过前台rsa加密传给后端,为实现模拟登录需要原样生成加密串. 分析 前台通过RSA.js.BigInt.js.Barrett.js三个js文件实现加密,公钥通过ajax请求获得 ...
- 建造者模式(Builder Pattern)
建造者模式(Builder Pattern) 它可以将多个简单的对象一步一步构建成一个复杂的对象. 意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示. 主要解决:主要解决在软 ...
- UOJ#346. 【清华集训2017】某位歌姬的故事 动态规划
原文链接www.cnblogs.com/zhouzhendong/p/UOJ346.html 题解 首先按照 $m_i$ 的大小排个序. 如果某一个区间和一个 m 值比他小的区间有交,那么显然可以将这 ...
- 在命令行输入python出现“Warning:This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see https://conda.
[现象] 在命令行输入python出现“Warning:This Python interpreter is in a conda environment, but the environment h ...