标签:lua cocos2dx
首先,lua是根据标准C改写而成,在本文中使用的编译器是sublime。编译环境是sublime+quick-cocos2dx3.3
1.全局变量和局部变量
在lua中,局部变量使用关键字 local,并且没有local关键字的变量都是全局变量,无论他在程序的那个位置。
例如:定义一个函数
<span style="font-size:24px;">function funa( ) a=9--全局变量 end</span>然后在构造函数中调用这个函数,并且输出a:
<span style="font-size:24px;"> funa() print(a)</span>
如果将a改为局部变量,则:
<span style="font-size:24px;">function funa( ) local a=9-- end</span>然后再和上面的形式输出,则输出结果是:nil。这个就是lua中的空。
2.数据类型
lua中的数据类型有:number,string,function,Boolean。
判断一个数据的类型使用tyoe函数,例如:a=9,print(type(a))
链接两个字符串使用:.. 例如
a,b=3,4//lua中可以这样给多个值赋值,他会自动判断每一个数据的类型
print(a..b)
输出:
34
3.运算符
3.1运算符的优先级:(由高到低)
^ | |||||
not | - (unary) | ||||
* | / | ||||
+ | - | ||||
.. | |||||
< | > | <= | >= | ~= | == |
and | |||||
or |
3.2 在lua中++,--这些是没有的,a++这个在lua中只能写成a=a+1。
4.函数
在lua中这样声明一个函数:
function function_name( ... )
-- body
end
4.1声明一个无参数的函数:
function funa( )
-- body
end
4.2声明一个有参数的:
function funb( a,b)
-- body
end
4.3声明一个不确定参数的
function func( ... )
-- body
a,b,c=...
print(a,b,c)
end
然后我们调用这个函数:
func(1,2,3).这样我们在函数func中将1,2,3分别赋值给了a,b,c。然后输出。
4.4声明一个有返回值的函数
function fund( )
-- body
return a
end
//多个返回值
function fune( )
return 1,2,3
end
local a,b,c=fune().在这里我们将1,2,3赋值给a,b,c。
5.分支语句
5.1在lua中的if语句:
if conditions then
--todo
end
5.2 if-else语句:
if conditions then
--todo
else
--todo
end
5.3if-else-if:
if conditions then
--todo
elseif conditions then
--todo
end
注意在中间的语句中elseif中间没有空格.还有就是在lua中没有switch语句.
6.循环语句:
a,b=1,9
6.1while语句:
while a<b do
--todo
print("while:",a)
a=a+1
end
6.2repeat语句相当于do-while语句
repeat
print("repaet:",a)
a=a+1
until a>b
6.3for语句
for i=1,10 do
print(i)
end
这里默认的步长是1,如果不要默认值,则:
for i=1,10,2 do
print(i)
end
这样步长就变成了2.
6.4
在lua中没有continue,只有break。
但是如何实现和continue一样的效果?
for i=1,10 do
repeat
if i==5 then
--todo
break
end
print("i=",i)
until true
end
输出结果:
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:lua cocos2dx
原文地址:http://blog.csdn.net/jin_syuct/article/details/47360231