Lua(—)

来源:互联网 发布:java小游戏开发实例 编辑:程序博客网 时间:2024/06/05 19:16

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 是一个区分大小写的编程语言。
Lua可以很方便的和其他程序进行集成(c++,c#,java,,,,)
Lua是动态类型定义的语言。(类型可以随意改变)

Lua和C#的区别

Lua可以在几乎所有的操作系统和平台进行编译运行
可以很方便的更新代码
更新了代码后,可以直接在手机上运行,不需要重新安装

C#只能在特定的操作系统中进行编译成dll文件,然后打包进安装包在其他平台(Android、iOS)运行
在移动平台上不能更新替换已有的dll文件,除非重新下载安装包

Lua的命名规则

标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上0个或多个字母,下划线,数字(0到9)。
1,不能以数字开头
2,不能是关键字(最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。)
3,Lua 不允许使用特殊字符如 @, $, 和 % 来定义标示符

全局变量

在默认情况下,变量总是认为是全局的。
全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil

b = nil
把一个变量置空,相当于从没有使用过这个变量,Lua会销毁b所占的内存

boolean

这个下面只有两个值 true 和 false
false和nil都代表false,其他任何值都代表true(0和空字符串lua都认为是true)

for循环

从1到100的偶数

for index=1,100 do   if index%2==0 then      print(index)   endend

while循环

index=1while (index<=100)do    if index%2==0 then        print(index)    end    index=index+1end

repeat循环

index=1repeat if index%2==0 then        print(index)    end index=index+1until(index>100)

table

for循环遍历table中的“键值”

mytable={1,23123,12321,1212,312,123123}for key,val in pairs (mytable) do    print(key..":"..val)end

table.getn(mytable)相当于getlength

for index=1,table.getn(mytable) do    print(mytable[index])end

function函数

function ADD(a,b,c) return a+b+c end local item=ADD(213,2131,12) print(item)

在lua中实现”面向对象”

新建一个lua脚本Character

Character={}Character.hp=0function Character:New()local o={}setmetatable (o,{__index=self})   //setmetatable设置o的元表为Characterreturn oend//在表o中查找东西时,若找不到会继续在表o的元表中查找相应值//功能类似于C#中 Character ch=new Character()function Character:OnDamage(attack) self.hp=self.hp-attack if self.hp<=0 then  print("gameover")  end end//新建一个Character的方法

新建一个lua脚本Player

require "Character"//require引用,相当于C#中的usingplayer={}player=Character:New()//相当于Character new了一个子类playerplayer.hp=100player:OnDamage(100)//调用方法for
原创粉丝点击