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的內容介紹完了,希望通過本文的學習能對你有所協助!