零碎知识点:

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语言自学知识点----简单了解的更多相关文章

  1. lua语言自学知识点----Lua与.Net相互调用

    知识点: LuaInterface作用是用来完成Lua与C#的相互调用. LuaInterface核心库:1.luainterface.dll 用于C#读取lua(放在bin目录同级) 2.luane ...

  2. Lua语言自学之01.基础概念的理解

    编程不只是这么简单,它的思维是理性的编程思维,操纵机器干事本来就不是一件简单的事,要干什么,该怎么做,怎么做得才好. 脚本的概念在程序中十分重要,在游戏开发领域,它更是决定性的.脚本语言让程序员可以区 ...

  3. Unity进阶----Lua语言知识点(2018/11/08)

    国内开发: 敏捷开发: 集中精力加班堆出来第一个版本 基本没啥大的bug 国外开发: 1).需求分析: 2).讨论 3).分模块 4).框架 5).画UML图(类图class function)(e- ...

  4. C/C++编程笔记:C语言入门知识点(三),请收藏C语言最全笔记!

    今天我们继续来学习C语言的入门知识点,第一课:C/C++编程笔记:C语言入门知识点(二),请收藏C语言最全笔记! 21. 输入 & 输出 当我们提到输入时,这意味着要向程序填充一些数据.输入可 ...

  5. 【quick-cocos2d-x】Lua 语言基础

    版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...

  6. 编译并使用Lua语言

    Lua是一个小巧的脚本语言,该语言设计的目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. 可扩展性.Lua的扩展性非常卓越,可以通过Lua代码或C代码扩展,很多功能可以通过外部库来扩 ...

  7. lua 语言笔记

    Lua语言基础汇总(1) -- 类型与值 基础介绍 Lua是一种动态类型的语言.在语言中没有类型定义的语法,每个值都带有其自身的类型信息.在Lua中有8种基本类型,分别是: nil(空)类型 bool ...

  8. Cocos2d-x-Lua (2.x)脚本开发之 Lua语言基础

    从今天開始,往后将陆续更新Lua教程,主要是搭载Cocos2dx ,有不论什么疑惑或者不正确的地方.尽情指正.交流.探讨. 那么首先肯定是Lua语言基础的知识点.以下直接附上代码,凝视已经非常清楚.无 ...

  9. Lua语言中文手册 转载自网络

    Programming in LuaCopyright ® 2005, Translation Team, www.luachina.net Programming in LuaProgramming ...

随机推荐

  1. 以iphone作为热点时ios程序中的UDP广播地址

    iPhone 开启热点后,会启用一个 172.20.10.0/28 的子网, 也就是最多15个ip地址,自己的地址是172.20.10.1, 广播地址是 172.20.10.15 ,不是传统的255. ...

  2. c#操作Excel模板,替换命名单元格或关键字形成报表

    c#操作Excel模板,替换命名单元格或关键字形成报表 http://blog.sina.com.cn/s/blog_45eaa01a0102vqma.html一 建立Excel 模板文件 templ ...

  3. Java软件工程的弹幕调试原则

    日期:2019.4.25 博客期:054 星期四 今天是把很久之前的那个相关程序——一维数组的最大和的子数组的求取信息,我们今天的任务就是把每一步的信息都要进行输出查看! 如下图: package p ...

  4. NLP自然语言处理原理及名词介绍

    1. 自然语言概念 自然语言,即我们人类日常所使用的语言,是人类交际的重要方式,也是人类区别其他动物的本质特征. 但是我们只能通过自然语言与人交流,无法与计算机进行交流. 2. 自然语言处理 自然语言 ...

  5. VS2017 提示警告 IDE0006

    MS的错误帮助:https://github.com/dotnet/roslyn/wiki/Diagnosing-Project-System-Build-Errors 看起来好复杂- 其实嘛- 检查 ...

  6. nginx 常用命令

    -?,-h         : this help  -v            : show version and exit  -V            : show version and c ...

  7. Github 上怎样把新 commits 使用在自己的 fork 上

    作者:黄晓佳 链接:https://www.zhihu.com/question/20393785/answer/105370502 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  8. oracle中nvarchar2查询结果显示总是少一位

    问题: 有个表的字段是nvarchar2(32),但是在plsql中查询显示结果发现一直少一位. 修改方法: 在plsql里的首选项-连接里有个选项: 在oci8上强制使用oci7, 把这个勾上就ok ...

  9. Python学习(四十二)—— Djago-model进阶

    一.QuerySet 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. Entry.objects.all()[:5] # (LIMI ...

  10. UOJ#196. 【ZJOI2016】线段树 概率期望,动态规划

    原文链接www.cnblogs.com/zhouzhendong/p/UOJ196.html 题解 先离散化,设离散化后的值域为 $[0,m]$ . 首先把问题转化一下,变成:对于每一个位置 $i$ ...