如何编写简单的lua小脚本

3 篇文章 0 订阅
------------------------第一章--lua语言基本语法----------------------------


第一节:变量与函数


lua是个和C十分相像的东西,不过也有很多不同点。引用一句话,lua除了关键字就是变量。
比如:C语言里面想定义一个整型变量的话:int i = 0; 但是在lua里面就简单了: i = 0;省略了变量前面的类型关键字。除此之外,lua里面所有与i = 0;这种格式定义的变量都是全局变量。 如何定义一个局部变量呢,很简单,在前面加local关键字,即:local i = 0; 局部变量一般用在函数里面。


弄清楚变量的定义方法以后,再来看看lua的语法特点。 如果说C语言是用大括号来定义函数的始末,那么lua就用函数头与end;来定义函数的始末,比如C语言:int func() {return 1;}
表示调用这个函数的时候会得到一个返回值为1的整型,而lua:function func() return 1; end; 看出区别了吧,lua定义函数的时候需要加上function关键字 func() 后面的括号里面表示参数,这里不需要,在end; 上面的语句就是调用函数时要执行的语句。需要注明的是,lua里面的函数的返回值类型同样不需要,lua会自动进行判断。


当然在lua里面也可以用{}大括号来划分block,不过一般不需要,就不多做说明了。


下面讲逻辑与循环。。。~



第二节:逻辑与循环


逻辑语句就是if else/elseif 构成,语法和函数类似,也是用end;来结束,比如我们要写一个判断,当英雄等级大于20时胜利,否则失败,用heroLevel来表示英雄等级(至于怎么获得等会再讲)那么就有:if heroLevel > 20 then win(); else fail(); end; win()和fail()是要执行的函数。至于elseif 就是else 里面再嵌套一个if 写法类似。 时刻注意end;结尾。注意,在lua里面数字变量都是true (包括0) 而被判断为false的只有2个,false和nil。nil表示空,和null有点像。没有特殊情况把nil当成false用就好。


循环语句就比较复杂了,一般常用于数组,在lua里面循环有很多种,但是常用的有3个:
while,for,for...in。 while最简单,for其次,for...in比较方便不过不好查阅。假设我们要实现从1加到100,那么分别就有: PS:在lua里面注释用--而不是//,被注释的语句不会执行
--while syntax:
v = 1;
result = 0;
while v <= 100 do
result = result + v;
v = v + 1;
end;
--for syntax:
result = 0;
for i = 1, 100, 1 do
result = result + i;
end;
--for...in syntax:
result = 0;
intArray = {1,2,3,4,5,......,98,99,100};
for index, element in intArray do
result = result + element;
end;
细心地朋友想必已经看出来了,while自身不包含循环变量,for包含一个循环变量(这个循环变量默认为局部变量而不是全局变量,只能在循环体中使用),for...in则专门用于数组。对于while语句没什么好讲的,很简单,而for语句后面跟了3个参数,i = 1表示定义i这个循环变量用于循环体中,中间的100表示当i <= 100时执行循环体,最后的1是步长,也就是执行一次循环体i会自动增加这里的值,在这个例子中就是每次加1,加到100,。for...in有3个参数,先讲in后面的参数,是一个数组,而第一个index表示当前循环到的数组中的值的下标,第二个element则表示当前循环到的数组中的值。


被绕昏了有木有! 在h5里面循环用while和for就够了,至于for...in不用管它就好。


接下来讲数组和运算符,讲完这个就可以切入主题,看看lua脚本实例了。~



第三节: 数组与运算符


lua的数组和C语言的数组很相似,都是以下标访问,不过lua的数组是table,不过不用管这么多,就当成数组用就好。 数组和变量一样,定义时都不用指定类型,直接arr = {1,2,3}; 就行了,然后arr[1] = 1就是1,arr[2] 就是2,arr[3]就是3。 没错,lua的数组下标是从1开始的而不是从0开始,除非你手动赋值。lua里面的数组非常灵活,比如 textArr = {"scripts/a.txt", "scripts/b.txt"}; 等等。。。


lua里面的运算符基本和C语言一样,不过h5不支持 "%"取余, "++"、"--"等的运算符,不过这些都可以自己定义一个函数解决。


有了上面的基础,差不多就可以写出丰富的脚本了。


学习交流之用,若有侵权或误点,请指出以便改正,谢谢!s

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值