如何编写简单的lua小脚本@@
第一節:變量與函數
lua是個和C十分相像的東西,不過也有很多不同點。引用一句話,lua除了關鍵字就是變量。
比如:C語言里面想定義一個整型變量的話:int i = 0; 但是在lua里面就簡單了: i = 0;省略了變量前面的類型關鍵字。除此之外,lua里面所有與i = 0;這種格式定義的變量都是全局變量。 如何定義一個局部變量呢,很簡單,在前面加local關鍵字,即:local i = 0; 局部變量一般用在函數里面。
弄清楚變量的定義方法以后,再來看看lua的語法特點。 如果說C語言是用大括號來定義函數的始末,那么lua就用函數頭與end;來定義函數的始末,比如C語言:int func() {return 1;}
表示調用這個函數的時候會得到一個返回值為1的整型,而lua:function func() return 1; end; 看出區別了吧,lua定義函數的時候需要加上function關鍵字 func() 后面的括號里面表示參數,這里不需要,在end; 上面的語句就是調用函數時要執行的語句。需要注明的是,lua里面的函數的返回值類型同樣不需要,lua會自動進行判斷。
當然在lua里面也可以用{}大括號來劃分block,不過一般不需要,就不多做說明了。
下面講邏輯與循環。。。~
第二節:邏輯與循環
邏輯語句就是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不支持 "%"取余, "++"、"--"等的運算符,不過這些都可以自己定義一個函數解決。
有了上面的基礎,差不多就可以寫出豐富的腳本了。
總結
以上是生活随笔為你收集整理的如何编写简单的lua小脚本@@的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android下常见终端模拟器和SSH客
- 下一篇: Unity3D常见面试题