日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何编写简单的lua小脚本@@

發(fā)布時間:2024/9/30 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何编写简单的lua小脚本@@ 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
------------------------第一章--lua語言基本語法----------------------------


第一節(jié):變量與函數(shù)


lua是個和C十分相像的東西,不過也有很多不同點。引用一句話,lua除了關(guān)鍵字就是變量。
比如:C語言里面想定義一個整型變量的話:int i = 0; 但是在lua里面就簡單了: i = 0;省略了變量前面的類型關(guān)鍵字。除此之外,lua里面所有與i = 0;這種格式定義的變量都是全局變量。 如何定義一個局部變量呢,很簡單,在前面加local關(guān)鍵字,即:local i = 0; 局部變量一般用在函數(shù)里面。


弄清楚變量的定義方法以后,再來看看lua的語法特點。 如果說C語言是用大括號來定義函數(shù)的始末,那么lua就用函數(shù)頭與end;來定義函數(shù)的始末,比如C語言:int func() {return 1;}
表示調(diào)用這個函數(shù)的時候會得到一個返回值為1的整型,而lua:function func() return 1; end; 看出區(qū)別了吧,lua定義函數(shù)的時候需要加上function關(guān)鍵字 func() 后面的括號里面表示參數(shù),這里不需要,在end; 上面的語句就是調(diào)用函數(shù)時要執(zhí)行的語句。需要注明的是,lua里面的函數(shù)的返回值類型同樣不需要,lua會自動進行判斷。


當(dāng)然在lua里面也可以用{}大括號來劃分block,不過一般不需要,就不多做說明了。


下面講邏輯與循環(huán)。。。~



第二節(jié):邏輯與循環(huán)


邏輯語句就是if else/elseif 構(gòu)成,語法和函數(shù)類似,也是用end;來結(jié)束,比如我們要寫一個判斷,當(dāng)英雄等級大于20時勝利,否則失敗,用heroLevel來表示英雄等級(至于怎么獲得等會再講)那么就有:if heroLevel > 20 then win(); else fail(); end; win()和fail()是要執(zhí)行的函數(shù)。至于elseif 就是else 里面再嵌套一個if 寫法類似。 時刻注意end;結(jié)尾。注意,在lua里面數(shù)字變量都是true (包括0) 而被判斷為false的只有2個,false和nil。nil表示空,和null有點像。沒有特殊情況把nil當(dāng)成false用就好。


循環(huán)語句就比較復(fù)雜了,一般常用于數(shù)組,在lua里面循環(huán)有很多種,但是常用的有3個:
while,for,for...in。 while最簡單,for其次,for...in比較方便不過不好查閱。假設(shè)我們要實現(xiàn)從1加到100,那么分別就有: PS:在lua里面注釋用--而不是//,被注釋的語句不會執(zhí)行
--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;
細心地朋友想必已經(jīng)看出來了,while自身不包含循環(huán)變量,for包含一個循環(huán)變量(這個循環(huán)變量默認為局部變量而不是全局變量,只能在循環(huán)體中使用),for...in則專門用于數(shù)組。對于while語句沒什么好講的,很簡單,而for語句后面跟了3個參數(shù),i = 1表示定義i這個循環(huán)變量用于循環(huán)體中,中間的100表示當(dāng)i <= 100時執(zhí)行循環(huán)體,最后的1是步長,也就是執(zhí)行一次循環(huán)體i會自動增加這里的值,在這個例子中就是每次加1,加到100,。for...in有3個參數(shù),先講in后面的參數(shù),是一個數(shù)組,而第一個index表示當(dāng)前循環(huán)到的數(shù)組中的值的下標,第二個element則表示當(dāng)前循環(huán)到的數(shù)組中的值。


被繞昏了有木有! 在h5里面循環(huán)用while和for就夠了,至于for...in不用管它就好。


接下來講數(shù)組和運算符,講完這個就可以切入主題,看看lua腳本實例了。~



第三節(jié): 數(shù)組與運算符


lua的數(shù)組和C語言的數(shù)組很相似,都是以下標訪問,不過lua的數(shù)組是table,不過不用管這么多,就當(dāng)成數(shù)組用就好。 數(shù)組和變量一樣,定義時都不用指定類型,直接arr = {1,2,3}; 就行了,然后arr[1] = 1就是1,arr[2] 就是2,arr[3]就是3。 沒錯,lua的數(shù)組下標是從1開始的而不是從0開始,除非你手動賦值。lua里面的數(shù)組非常靈活,比如 textArr = {"scripts/a.txt", "scripts/b.txt"}; 等等。。。


lua里面的運算符基本和C語言一樣,不過h5不支持 "%"取余, "++"、"--"等的運算符,不過這些都可以自己定義一個函數(shù)解決。


有了上面的基礎(chǔ),差不多就可以寫出豐富的腳本了。

總結(jié)

以上是生活随笔為你收集整理的如何编写简单的lua小脚本@@的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。