Lua遊戲指令碼語言入門(一)

2022-02-10 01:18:23 字數 2622 閱讀 1980

lua 的語法比較簡單,學習起來也比較省力,但功能卻並不弱。

在lua中,一切都是變數,除了關鍵字。請記住這句話。

前言.開發環境搭建

lua執行器:

i. 首先是注釋

寫乙個程式,總是少不了注釋的。   

在lua中,你可以使用單行注釋和多行注釋。   

單行注釋中,連續兩個減號"--"表示注釋的開始,一直延續到行末為止。相當於c++語言中的"//"。   

多行注釋中,由"--[["表示注釋開始,並且一直延續到"]]"為止。這種注釋相當於c語言中的"/*…*/"。

在注釋當中,"[["和"]]"是可以巢狀的。

ii. lua程式設計

經典的"hello world"的程式總是被用來開始介紹一種語言。

在lua中,寫乙個這樣的程式很簡單:   

print("hello world")   

在lua中,語句之間可以用分號";"隔開,也可以用空白隔開。一般來說,如果多個語句寫在同一行的話,建議總是用分號隔開。   

lua 有好幾種程式控制語句,如:

條件控制:if 條件 then … elseif 條件 then … else … end   

while迴圈:while 條件 do … end   

repeat迴圈:repeat … until 條件   

for迴圈:for 變數 = 初值,終點值,步長 do … end   

for迴圈:for 變數1,變數2,… ,變數n in表或列舉函式 do … end

注意一下,for的迴圈變數總是只作用於for的區域性變數,你也可以省略步進值,這時候,for迴圈會使用1作為步進值。   

你可以用break來中止乙個迴圈。   

但lua有幾個地方是明顯不同於這些程式語言的,所以請特別注意。

.語句塊     

語句塊在c++中是用""括起來的,在lua中,它是用do 和 end 括起來的。

比如:     do print("hello") end     

你可以在 函式 中和 語句塊 中定區域性變數。

.賦值語句     

賦值語句在lua被強化了。它可以同時給多個變數賦值。     

例如:     a,b,c,d=1,2,3,4     

甚至是:     a,b=b,a -- 多麼方便的交換變數功能啊。     

在預設情況下,變數總是認為是全域性的。假如你要定義區域性變數,則在第一次賦值的時候,需要用local說明。

比如:     local a,b,c = 1,2,3 -- a,b,c都是區域性變數

.數值運算     

和c語言一樣,支援 +, -, *, /。但lua還多了乙個"^"。這表示指數乘方運算。比如2^3 結果為8, 2^4結果為16。     

連線兩個字串,可以用".."運處符。

如:     "this a " .. "string." -- 等於 "this a string"

.比較運算     

< > <= >= == ~=     分別表示 小於,大於,不大於,不小於,相等,不相等     

所有這些操作符總是返回true或false。     

對於table,function和userdata型別的資料,只有 == 和 ~=可以用。

相等表示兩個變數引用的是同乙個資料。

比如:     a=     

b=a     

print(a==b, a~=b) -- true, false    

a=     

b=     

print(a==b, a~=b) -- false, true

.邏輯運算     

and, or, not     其中,and 和 or 與c語言區別特別大。     

在這裡,請先記住,在lua中,只有false和nil才計算為false,其它任何資料都計算為true,0也是true!     

and 和 or的運算結果不是true和false,而是和它的兩個運算元相關。     

a and b:如果a為false,則返回a;否則返回b     

a or b:如果 a 為true,則返回a;否則返回b

舉幾個例子:     

print(4 and 5) --> 5     

print(nil and 13) --> nil     

print(false and 13) --> false     

print(4 or 5) --> 4     

print(false or 5) --> 5

在lua中這是很有用的特性,也是比較令人混洧的特性。     

我們可以模擬c語言中的語句:x = a? b : c,

在lua中,可以寫成:x = a and b or c。     

最有用的語句是: x = x or v,它相當於:if not x then x = v end 。

.運算子優先順序,從高到低順序如下:  

^     not - (一元運算)    

..(字串連線)     

< > <= >= ~= ==      and      or

LUA指令碼語言入門

使用例程 1.函式的使用 以下程式演示了如何在lua中使用函式,及區域性變數 例e02.lua functions function pythagorean a,b local c2 a 2 b 2 return sqrt c2 end print pythagorean 3,4 執行結果 5程式說...

五 Lua指令碼語言入門

恢復內容開始 寫完這篇lua指令碼語言入門,自己就要嘗試去用lua指令碼語言寫esp8266了,自己現在挺心急的,因為朋友使用esp8266本來說自己幫忙寫好程式的,但是用的微控制器不一樣自己沒有,沒有辦法測試,用at指令就顯得不方便,還要根據微控制器改程式,而且自己以前用感覺at指令發資訊那塊,麻...

在遊戲中如何使用LUA指令碼語言

當你希望在你的遊戲開始的時候讀取一些資訊,以配置你的遊戲,這些資訊通常都是放到乙個文字檔案中,在你的遊戲啟動的時候,你需要開啟這個檔案,然後解析字串,找到所需要的資訊。是的,或許你認為這樣就足夠了,為什麼還要使用lua呢?if player is dead then do something els...