【Cocos2dx-Lua 脚本开发之二】Lua语言基础

前端之家收集整理的这篇文章主要介绍了【Cocos2dx-Lua 脚本开发之二】Lua语言基础前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

从今天开始,往后将陆续更新Lua教程,主要是搭载Cocos2dx ,有任何疑惑或者不对的地方,尽情指正、交流、探讨。

那么首先肯定是Lua语言基础的知识点,下面直接附上代码,注释已经很清楚,无需赘述。

这里顺便给大家推荐一款mac os上的文本编辑器,好用支持多语言编辑,oc,c,c++,java,lua,js,html等等等

TextMate,图标是个菊花 – -。 下载地址:http://macromates.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@H_502_50@ 18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
@H_502_272@ 129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
-- mac 上有很多文本编辑器,Himi找了很多,感觉TextMate是比较好用的,小巧且功能强大!而且免费,图标是个小菊花 - -
-- 注释语句
--[[
注释段落语句
]] --
--引用其他lua文件,不需要加上(.lua)后缀
--require "xx"
--变量不需要定义,可以直接赋值
count = 100 --成员变量
local count = 100 --局部变量
--方法定义
function hello ( ... )
--打印
@H_502_50@ print ( "Hello Lua!" ) ;
print ( string .format ( ... ) )
end
-- 每一行代码不需要使用分隔符,当然也可以加上
-- 访问没有初始化的变量,lua默认返回nil
-- 调用函数形式
hello ( "你懂的" )
--打印变量的类型
isOK = false
print ( type ( isOK ) )
-- 基本变量类型
a = nil --Lua 中值为nil 相当于删除
b = 10
c = 10.4
d = false
--定义字符串,单引号,双引号都可以的
e = "i am"
d = 'himi'
--两个字符串的连接可以如下形式
stringA = "Hi"
stringB = "mi"
print ( stringA..stringB )
--另外Lua也支持转移字符,如下
print ( stringA.. "\n" ..stringB ) ;
--修改字符串的部分gsub,可以如下形式:(将stringA字符串中的Hi修改为WT)
stringA = string .gsub ( stringA , "Hi" , "WT" )
print ( stringA ) ;
--将字符换成数字tonumber(不转也会自动转)
--将数字换成字符tostring(不转也会自动转)
stringC = "100"
stringC = tonumber ( stringC )
stringC = stringC + 20
stringC = tostring ( stringC )
print ( stringC )
--取一个字符串的长度使用 #
print ( #stringC)
--创建 表
tableA = { }
m = "x"
tableA[m] = 100
m 2 = 'y'
tableA[m 2 ] = 200
print ( tableA[ "x" ].. "\n" ..tableA.y )
--另外表还可以如下形式(从1开始)
tableB = { "4" , "5" , "6" , "7" , "8" }
print ( tableB[ 1 ] )
--算术操作符
c 1 = 10 + 2
c 2 = 10 -2
c 3 = 10 * 2
c 4 = 10 / 2
c 5 = 10 ^ 2
c 6 = 10 % 2
c 7 = -10 + 2
print ( c 1. . "_" ..c 2. . "_" ..c 3. . "_" ..c 4. . "_" ..c 5. . "_" ..c 6. . "_" ..c 7 )
--控制操作
--if then elseif then else end
abc = 10
if abc = = 10 then
print ( "v1" )
elseif abc = = 9 then
print ( "v2" )
else
print ( "v3" )
end
--for
--从4(第一个参数)涨到10(第二个参数),每次增长以2(第三个参数)为单位
for i = 4 , 10 , 2 do
print ( "for1:" ..i + 1 )
end
--也可以不制定最后一个参数,默认1的增长速度
for i = 4 , 10 do
print ( "for2:" ..i + 1 )
end
tableFor = { "himi1" , "himi2" , "himi3" , "himi4" , "himi5" }
for k , v in pairs ( tableFor ) do
print ( "for3:key:" ..k.. "value:" ..v )
end
--while
w 1 = 20
while true do
w 1 = w 1 + 1
if w 1 = = 25 then
break
end
end
print ( "whlile:" ..w 1 )
--repeat
aa = 20
repeat aa = aa + 2
print ( "repeat:" ..aa )
until aa > 28
--关系操作符
--需要注意的是不等于符号 ~= 而不是!=
@H_502_272@ ax = 10
bx = 20
if ax > bx then
print ( "GX1" )
elseif ax < bx then
print ( "GX2" )
elseif ax > = bx then
print ( "GX3" )
elseif ax < = bx then
print ( "GX4" )
elseif ax = = bx then
print ( "GX5" )
elseif ax~ = bx then
print ( "GX6" )
else
print ( "GX7" )
end

其中主要需要注意的是判断语句不等于,不再是!= ,在Lua中是~= ,这个要注意。

源码下载地址:http://vdisk.weibo.com/s/wwgnO

另外关于一些常见的函数如下详解:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@H_502_50@ 18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--函数详解
--有一个返回值的函数
function funTestBackOne ( aCount )
local aCount = aCount + 1
return aCount
end
a = 20
print ( funTestBackOne ( a ) )
--有多个返回值的函数
function funTestBackMore ( )
return 2 , 3
end
a , b = funTestBackMore ( )
@H_502_50@ print ( a.. " and " ..b )
--有变长参数的函数
function funTestUnKnow ( ... )
print ( ... )
end
funTestUnKnow ( a , b , "Himi" )
--闭合函数(一个函数写在另外一个函数内)
function funTest 1 ( ... )
local d = 12 ;
d = d + ...
function funTest 2 ( ... )
print ( d )
end
funTest 2 ( )
end
funTest 1 ( 100 )

掌握这些Lua语言基础,基本足够你使用了。

猜你在找的Cocos2d-x相关文章