溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

《LUA游戲開發(fā)實(shí)踐指南》學(xué)習(xí)筆記1

發(fā)布時(shí)間:2020-03-31 07:03:34 來(lái)源:網(wǎng)絡(luò) 閱讀:488 作者:51tushu 欄目:開發(fā)技術(shù)

本文只做個(gè)人學(xué)習(xí)筆記!

Lua腳本語(yǔ)言的優(yōu)點(diǎn):免費(fèi)、小巧、快速和易移植。

游戲項(xiàng)目中的Lua,可以完成以下工作

  1. 編輯游戲用戶界面(玩家和你的游戲進(jìn)行交互的媒介)

  2. 定義、存儲(chǔ)和管理游戲數(shù)據(jù)(Lua本人并沒(méi)有直接訪問(wèn)外部數(shù)據(jù)庫(kù)的能力,但可以使用C++組件)

  3. 管理游戲?qū)崟r(shí)事件

  4. 創(chuàng)建和維護(hù)開發(fā)者有好的游戲存儲(chǔ)和載入系統(tǒng)

  5. 編寫游戲的人工智能(AI)

  6. 創(chuàng)建功能原型,可以之后用高性能語(yǔ)言移植

Lua入門

Lua控制臺(tái)

lua腳本(擴(kuò)展名為.lua的文本文本)

代碼塊(Chunk):?jiǎn)蝹€(gè)命令或者一系列命令組成腳本文件

dofile:用來(lái)立即執(zhí)行腳本

“\\”代替單斜線,單斜線是用來(lái)告訴lua運(yùn)行環(huán)境他后面的特殊符號(hào)

Lua基礎(chǔ)

1優(yōu)勢(shì):可以整合C++模塊來(lái)擴(kuò)展自身功能

2語(yǔ)言定義:不能以數(shù)字作為起始符,也要避免下劃線(_)接大寫字母

3lua保留關(guān)鍵字:

and
local
break
nil
do
not
else
or
elseif
repeat
end
return
false
then
for
true
function
until
if
while
in



4變量:變量不需要在使用前聲明,類型取決人用戶給它賦的值

5種變量類型:nil、Boolean、string、Number和table

nil:用來(lái)表示這個(gè)變量還沒(méi)有被賦值。例如:myValue = nil

Boolean:變量只有兩種true和false。例如:myValue = true

string(字符串):Lua中字符串可以小到一個(gè)字符,也可以包含百萬(wàn)字符以上

Number(雙精度浮點(diǎn)數(shù))

table(數(shù)據(jù)類型)

5局部變量和全局變量

默認(rèn)是全局的

變量的有效范圍取決于聲明變量的位置,例:

function Myfun()
 local myX = 7
 if myX < 10 then
  local myY = "hello world"
  print(myY)
 end
 print(myY)
end

執(zhí)行結(jié)果:

hello world

nil

運(yùn)算符(特殊符號(hào)):可以讓兩個(gè)值得出運(yùn)算結(jié)果

算術(shù)運(yùn)算符:+-*/(a+b=c)

關(guān)系運(yùn)算符:==、~=<、>、<=>=(if(a == b)特殊:table,只有兩個(gè)table是同一個(gè)對(duì)象的時(shí)候才能得到預(yù)期結(jié)果)

邏輯運(yùn)算符:and、or、not

and
比較兩個(gè)參數(shù)時(shí),如果第一個(gè)是false,就返回false否則返回第二個(gè)參數(shù)值
or
與and正好相反
not
返回true和false,false和nil會(huì)被當(dāng)成false,其它為true

6控制結(jié)構(gòu)

所有控制結(jié)構(gòu)都以end作為結(jié)束標(biāo)記

if:如果是true程序塊就會(huì)被執(zhí)行,例如:

function Myfun()
 a = 7
 if a<10 then
  print("<10")
 end
 if a>5 then
  print(">5")
 end
end

結(jié)果:

<10

>5

whilerepeat:都可以循環(huán)執(zhí)行一段腳本(while先判斷,repeat后判斷(保證程序至少執(zhí)行一次))

for:可以讓用戶根據(jù)表達(dá)式的值有限次地執(zhí)行一段腳本

for index=1,10  do

     print(index)

end

for后需要提供變量值范圍,遍歷這個(gè)范圍的每個(gè)值的同時(shí)程序塊被執(zhí)行,end結(jié)束

break:可以從循環(huán)控制結(jié)構(gòu)中強(qiáng)制退出


今天就總結(jié)這里吧......

小編不僅僅是只是在抄總結(jié)哦,里面的所有案例都有上機(jī),沒(méi)有案例的,也會(huì)自己寫一個(gè)測(cè)試的哦,做程序猿是很累的,不要手懶哦

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI