為什么lua在游戲開發(fā)中應(yīng)用普遍?
Lua是什么
Lua是一款輕量小巧的腳本語言,這就使得Lua不能作為開發(fā)獨立應(yīng)用程序的語言,Lua是由標準C開發(fā)的,這就使得他很容易被C/C++調(diào)用,也很容易調(diào)用C/C ++。Lua可以在所有平臺上運行,而且速度很快。
Lua很簡潔Lua不像其他高級語言一樣有很多功能和庫,Lua通過調(diào)用C去實現(xiàn)功能,所以自身沒有太多復(fù)雜的功能,上手很簡單。Lua 中有 8 個基本類型分別為:nil、boolean、number、string、userdata、function、thread 和 table。
Lua特性輕量:lua只有一個精簡的核心和基本庫,內(nèi)核不到120kb,這使得lua體積小,很容易嵌入到其它語言中
易擴展:由于可以直接調(diào)用c,使得lua很容易擴展。功能由宿主語言編寫,lua只負責調(diào)用。
無需編譯:lua文件就是一個文本文件,不需要編譯成二進制,這就使得lua可以隨意更改。這為熱更新奠定了基礎(chǔ)。
Lua應(yīng)用場景電腦應(yīng)用腳本,游戲熱更新腳本,web應(yīng)用開發(fā)基本,數(shù)據(jù)庫擴展腳本等等。
例如unity中的lua熱更新
導(dǎo)入模塊后,就可以進行l(wèi)ua開發(fā)了。
Lua熱更新由于Lua是文本文件夾不需要編譯,所以應(yīng)用的UI層或者游戲活動界面內(nèi)容等等都可以用lua來寫,需要更新界面或者活動時,就可以直接更改lua文件,然后放到服務(wù)器,用戶更新后就會啟用新功能,不需要重新下載應(yīng)用程序。