零碎知识点:

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. js 字符串切割

    对于字符串的切割截取平时所用可能不是特别多,而且分的比较细,所以自备自查.有备无患. 由于之前所有均在一个demo测试,若是哪里打错了,敬请谅解.一些其余属性找时间继续添加. 1.函数:split() ...

  2. el-table中单数行与双数行设置不同的背景颜色

    <el-table :cell-style='cellStyle' :data="tableData" style="width: 100%;" > ...

  3. Selenium WebDriver的实现及工作原理

    笔者最近研究学习了selenium的实现和工作原理,阅读了selenium3.141.59的Java源码,没有读完哈...重点从两个接口(org.openqa.selenium.WebDriver和o ...

  4. 末学者笔记--Centos7系统部署cobbler批量安装系统

      [前言]: cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 系统环境准备及其下载cob ...

  5. IDEA下运行 mybatis报错 Parameter 'arg0' not found. Available parameters are [autoRecharge, id, param1, param2]

    电脑换系统之后重新安装一了 一下idea 项目运行时出现了以下错误, [autoRecharge, id, param1, param2] 或 [arg0, id, arg1, param2] 参考地 ...

  6. SEH exception with code 0xc0000005 thrown in the test body

    在用Visual Studio时遇到这个报错.原因:访问了非法的内存地址. 这个问题不应该被忽略,通常是代码有bug. 解决办法: VS2013: 菜单->Debug->Exception ...

  7. [原创][Synth 8-2543] port connections cannot be mixed ordered and named ["*_Top.v":1151]

    Vivado综合错误: [Synth 8-2543] port connections cannot be mixed ordered and named ["*_Top.v":1 ...

  8. js中比较两个数组中是否含有相同的元素,可去重,可删除合并为新数组(转载)

    //做比较的两个数组 var array1 = ['a','b','c','d','e'];//数组1 var array2 = ['d','f','e','a','p'];//数组2 //临时数组存 ...

  9. UOJ#349. 【WC2018】即时战略

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ349.html 题解 被cqz D没了.我D cly 关你啥事(逃 首先链的情况直接rand就好了. 期望 ...

  10. DS博客作业01-日期抽象数据类型设计和实现

    1.思维导图及学习体会 1.1第一章绪论知识点思维导图 1.2 学习体会 这周刚刚学习了数据结构绪论和一部分线性表的知识,因为寒假提前预习了一会儿,在课堂上可以较快理解老师讲的内容.但是在c++语法上 ...