本站文章均爲 李華明Himi 原創,轉載務必在明顯處註明:(作者新浪微博: @李華明Himi )
轉載自【黑米GameDev街區】 原文鏈接: http://www.himigame.com/lua1/1235.html
☞ 點擊訂閱 ☜ 本博客最新動態!及時將最新博文通知您!
從今天開始,往後將陸續更新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
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
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 ( ... ) --打印 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 --關係操作符 --需要注意的是不等於符號
~= 而不是!= 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
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 ( ) 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語言基礎,基本足夠你使用了。