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