麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > 綜合 > 正文

Lua入門學(xué)習(xí)筆記

2024-07-21 23:04:15
字體:
供稿:網(wǎng)友

最近在使用Cocos2d-x + Lua來開發(fā)游戲。 游戲的主要邏輯將在Lua里寫,之前沒有接觸過Lua,以下是我總結(jié)的入門筆記。

運(yùn)算符

邏輯運(yùn)算符

與:and
或:or
非:not

邏輯判斷只有在false和nil時(shí)為假,其余均為真。 or和and會返回第一個(gè)斷路的值。

Lua中沒有C語言的三元符(x ? a : b),但有一個(gè)替代方案(x and a) or b。
需要注意的是,以上方案在x為true,a為false,b為true的情況下與三元符的結(jié)果是相反的。

關(guān)系運(yùn)算符

不等于:~=
類型和值均相等:==
只有數(shù)字和字符串類型在比較時(shí)判定的是值,其余數(shù)據(jù)類型比較的都是引用。

其他運(yùn)算符

字符串的連接符:..
兩字符串若用+連接時(shí),會被自動轉(zhuǎn)義成數(shù)字類型進(jìn)行相加,這是由metatable里的add運(yùn)算決定的。

長度運(yùn)算符:# 可計(jì)算字符串和table的長度。

冒號運(yùn)算符: :是Lua的一個(gè)語法糖,其省去了方法的self參數(shù)聲明和方法的顯式調(diào)用。 詳見:http://www.lua.org/pil/16.html。

table

table可視為數(shù)組,數(shù)組下標(biāo)不同于其他大多數(shù)語言,其下標(biāo)從1開始。

#運(yùn)算符僅統(tǒng)計(jì)所有下標(biāo)為整數(shù)的元素的個(gè)數(shù)。

與pairs不同的是,ipairs僅遍歷從1開始的連續(xù)下標(biāo),并且保證輸出順序。

t[2] 和 t["2"]表示不同的記錄

 

復(fù)制代碼 代碼如下:

t={["2"]=2, [2]=2.2,}

 

table最后可以多留一個(gè)分隔符(,或;),參照上一條的t,官方的理由是為了自動生成table的方便(便于自動生成Lua的table配置表)。

 

復(fù)制代碼 代碼如下:

x = 1
t = { x=1.1, [x]=1 }

第一個(gè)表示

 

 

復(fù)制代碼 代碼如下:

t["x"] = 1.1

第二個(gè)表示

 

 

復(fù)制代碼 代碼如下:

t[1] = 1

 

metatable

metatable的類型是table。 metatable里的key是事件(操作)類型。 metatable里的value是對應(yīng)的函數(shù)(方法),也稱之為metamethod。

控制流

return和break語句只能被寫在語句塊的最后一句,即end前。

for 循環(huán)的循環(huán)變量是一個(gè)內(nèi)部變量,循環(huán)結(jié)束之后,就不能再使用它了。

sublime text 2編譯

我平時(shí)用Sublime Text 2來編寫Lua腳本,其編譯Lua的設(shè)置如下: 生成Lua.sublime-build文件于C:/Users/YOUR_USER_NAME/AppData/Roaming/Sublime Text 2/Packages/Lua目錄下,文件內(nèi)容為

 

復(fù)制代碼 代碼如下:

{
    "cmd": ["lua", "$file"],
    "file_regex": "^(?:lua:)?[/t ](...*?):([0-9]*):?([0-9]*)",
    "selector": "source.lua"
}

 

設(shè)置好后,用 ctrl + B 即可編譯運(yùn)行。 以上為pc上的配置。

在mac上需要先編譯安裝Lua

 

復(fù)制代碼 代碼如下:

curl -R -O http://www.lua.org/ftp/lua-5.2.2.tar.gz
tar zxf lua-5.2.2.tar.gz
cd lua-5.2.2
make macosx test
sudo make install

 

然后在sublime text tools -> build system -> new build system新建一個(gè)Lua.sublime-build,內(nèi)容為

 

復(fù)制代碼 代碼如下:

 "cmd": ["/usr/local/bin/lua", "$file"], 
 "file_regex": "^(...*?):([0-9]*):?([0-9]*)", 
 "selector": "source.lua" 
}

 

即可在mac的sublime text上用 ? + B 編譯Lua。

其他

Lua語句后的分號;可有可無。

變量聲明時(shí)盡可能的使用local進(jìn)行聲明,除非有作為全局變量的必要。

為參數(shù)列表,在函數(shù)中以arg(類型為table)進(jìn)行獲取 arg還有一個(gè)額外的鍵n,用來表示參數(shù)的個(gè)數(shù)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久99精品久久久久久国产越南 | 欧美日韩大片在线观看 | 国产做爰全免费的视频黑人 | 久久久一二三 | 久久9色 | 久久久久久久久成人 | 色妞视频男女视频 | 久久新地址 | www.91sp| 黄色影院av| 久久成人视屏 | 成人福利在线免费观看 | china对白普通话xxxx | 久久久久免费精品 | 免费在线观看亚洲 | 成人在线观看地址 | 免费看黄色三级毛片 | 日韩一级精品 | 成人免费一区二区三区视频网站 | 欧美在线观看黄色 | 九九久久视频 | 国产福利视频在线观看 | 久草在线新时代视觉 | 日韩美香港a一级毛片免费 欧美一级淫片007 | 黄 色 免费网 站 成 人 | 久久精品国产亚洲7777小说 | 日韩精品中文字幕一区二区三区 | 久久久国产精品免费观看 | 国产成人自拍视频在线 | bt 自拍 另类 综合 欧美 | 黄色免费小视频网站 | 欧美巨根 | 久久精品二区 | 视频二区国产 | 中文字幕在线网站 | 欧美天堂一区 | 中文字幕在线看第二 | 久久99亚洲精品 | 孕妇体内谢精满日本电影 | 亚洲午夜视频 | 成人资源在线 |