赞
踩
下面讲逻辑与循环。。。~
第二节:逻辑与循环
逻辑语句就是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不支持 "%"取余, "++"、"--"等的运算符,不过这些都可以自己定义一个函数解决。
有了上面的基础,差不多就可以写出丰富的脚本了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。