Lua游戲腳本開發(fā)之初始化Lua
Lua游戲腳本開發(fā)之初始化Lua是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)LUA的使用和LUA中關(guān)于游戲的開發(fā),具體內(nèi)容的實(shí)現(xiàn)來看本文詳解。
我最近學(xué)習(xí)游戲腳本編程。接觸到的第一個(gè)腳本編程語言就是Lua。我使用的Lua版本是5.1。
遺憾的是,我學(xué)習(xí)腳本編程的那本書中使用的版本是老版本的Lua,由于Lua在新版本中,對很多函數(shù)調(diào)用作了改變,我發(fā)現(xiàn)根據(jù)書中的介紹,很難成功地編譯程序。經(jīng)過自己的研究,終于可以正常地使用Lua提供的基本功能了。所以我把我的解決方法寫出,和大家分享,希望對其他使用新版本Lua遇到麻煩的朋友有所幫助。
下載安裝好Lua后,就可以使用了。我使用Visual Studio .NET 2003的C++編譯器開發(fā)應(yīng)用Lua腳本的Host應(yīng)用程序。首先,我們要設(shè)置編譯器,讓它能夠找到使用Lua必須的頭文件和庫文件。方法如下:
1、啟動(dòng)Visual Studio .NET 2003。
2、選擇“工具”-〉“選項(xiàng)”菜單,打開“選項(xiàng)”對話框。
3、在右邊的選項(xiàng)中,選擇“項(xiàng)目”,然后選擇其下的“VC++目錄”。
4、在對話框右邊的“顯示以下內(nèi)容的目錄”下拉框中選擇“包含文件”。然后添加Lua的包含目錄,在我的電腦中目錄是“C:/Program Files/Lua/5.1/Include”。
5、在對話框右邊的“顯示以下內(nèi)容的目錄”下拉框中選擇“庫文件”。然后添加Lua使用的庫文件所在目錄,我的是“C:/Program Files/Lua/5.1/Lib”。
6、點(diǎn)擊“確定”,關(guān)閉對話框。
現(xiàn)在,編譯器已經(jīng)設(shè)置完畢。我們就以一個(gè)Console控制臺(tái)程序來演示Lua的初始化:
1、創(chuàng)建一個(gè)C++控制臺(tái)項(xiàng)目。
2、選擇“項(xiàng)目”-〉“屬性”菜單,打開項(xiàng)目的屬性對話框,然后選擇“連接器”下面的“命令行”選項(xiàng),然后在右下角區(qū)域輸入使用的庫文件lua51.lib和lua5.1.lib。然后點(diǎn)擊“確定”。
3、為了使用Lua中的函數(shù),我們需要在程序的源代碼文件中包含Lua的頭文件——lua.h和lauxlib.h。因?yàn)長ua使用純C代碼編寫,所以我們要用下面的方式來包含這兩個(gè)頭文件到我們的C++程序中:
- extern "C"
- {
- include "lua.h"
- include "lauxlib.h" // 必須包含這個(gè)頭文件,否則無法調(diào)用lua_open()函數(shù)
- }
要使用Lua,首先要對它初始化。初始化一個(gè)Lua,個(gè)人的理解,其實(shí)就是初始化一個(gè)Lua使用的堆棧,主程序和游戲腳本通過這個(gè)堆?;ハ嗤ㄓ?。我們只要在主程序的Main()函數(shù)中調(diào)用如下代碼即可初始化一個(gè)Lua堆棧:
- int _tmain(int argc, _TCHAR* argv[])
- {
- // 初始化一個(gè)Lua state并設(shè)置堆棧尺寸是1024
- lua_State* pLuaState = lua_open(1024);
- return 0;
- }
使用完Lua后,應(yīng)該調(diào)用如下代碼釋放掉Lua對象:
- lua_close(pLuaState);
完整的程序如下:
- int _tmain(int argc, _TCHAR* argv[])
- {
- // 初始化一個(gè)Lua state并設(shè)置堆棧尺寸是1024
- lua_State* pLuaState = lua_open(1024);
- // ... 所有的程序邏輯代碼在這里寫
- // 釋放Lua state
- lua_close(pLuaState);
- return 0;
- }
小結(jié):Lua游戲腳本開發(fā)之初始化Lua的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!