零碎知识点:

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. Mysql常用命令大全 sql

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  2. activemq之python使用stomp协议

    参考链接: 安装:https://pypi.org/project/stomp.py/4.1.8/#history https://www.cnblogs.com/andylhc/p/9337945. ...

  3. 【彻底解决】django migrate (mysql.W002) 【专治强迫症】

    cmd中使用python3 manage.py migrate命令,报warn,很多人都遇到过 解决办法: settings.py文件夹加入DATABASES['OPTIONS']['init_com ...

  4. flutter 解析json

    关于flutter 解析json 自己看了几天,最近才大概知道是怎么个情况. 首先 要处理的 是后端返回的数据 ,如果是直接请求的话返回的是json 字符串 然后要把字符串转成对象,有几种方式参考 第 ...

  5. C++简单交换堆排序的代码

    下面的内容内容是关于C++简单交换堆排序的内容,应该对各位朋友有较大用途. { int start, end; { }} { int root, child; { if((child + 1 < ...

  6. kali linux 网络配置

    /etc/init.d/networking restart service newworking restart ifdown eth0 ifup eth0 ifconfig down eth0 i ...

  7. bzoj 5495

    今年省选题... 表示当时还没学可持久化trie,所以打60分暴力走人... 现在学了可持久化字典树,就可以搞一搞了嘛! 首先看到题目描述,很容易想到首先搞出异或前缀和,然后建起可持久化字典树 然后考 ...

  8. .net core 使用swagger自动生成接口文档

     前言 swagger是一个api文档自动生动工具,还集成了在线调试. 可以为项目自动生成接口文档, 非常的方便快捷 Swashbuckle.AspNetCore 是一个开源项目,用于生成 ASP.N ...

  9. python 10大算法之二 LogisticRegression 笔记

    使用的包 import matplotlib.pyplot as plt import pandas as pd import numpy as npfrom sklearn import datas ...

  10. Linux中的官方源、镜像源汇总

    转载一篇文章,很有用 (一).企业站 搜狐: http://mirrors.sohu.com/ 网易: http://mirrors.163.com/ 阿里云: http://mirrors.aliy ...