1. 程式人生 > >Unity3d ulua 環境搭建與所遇到的問題

Unity3d ulua 環境搭建與所遇到的問題

首選去 ulua官網地址上面下載最新的 ulua  下載地址

然後後面的文章都會建立在 Unity3d 5.3.1 + ulua1,24 + UGUI的環境下,下載完了如果整合有問題請參考 我的異常解決方案中的第一條,環境搭建完了,ulua的結構這裡不講,自行去ulua 論壇裡面檢視。

使用可以參考其他同學的這個文章,用以跑起來demo 

http://blog.csdn.net/adambieber/article/details/47402805

這裡主要說下自己遇到的問題,先建立一個c#類 隨便去個名字,比如叫demo,然後敲入如下的程式碼

public class Demo : MonoBehaviour {

    LuaScriptMgr mgr;
	// Use this for initialization
	void Start () {
        mgr = new LuaScriptMgr();
        mgr.Start();
        string path = Util.LuaPath("test.lua");
	mgr.DoFile(path);
	}
然後在工程目錄下存放如下的test.lua檔案,為何放在這裡是有原因的~ 因為LuaScriptMgr.cs 這個指令碼封裝的lua路徑就在這裡,test裡面的內容可以直接我在lua文章裡面的即可



接著執行你會發現 unity 控制檯會報錯為如下的內容。

Loader lua file failed: F:/XProject_FrameWork/XProject_FrameWork/Assets/uLua/lua/test.lua 

由於是第一次使用所以我就參考了demo裡面對file這個的使用,然後把我的指令碼修改為如下的內容

	void Start () {
//        mgr = new LuaScriptMgr();
//        mgr.Start();
        string path = Util.LuaPath("test.lua");
//		mgr.DoFile(path);

		//這樣是ok 的
		LuaState state = new LuaState ();
		state.DoFile (path);
	}
的確這個時候並沒有報錯,完整的執行除了結果~~~

這個時候只能自己去除錯了(有原始碼就是好啊,這個時候深深的再次感受到開源是多麼的無私)

經過一系列的分析得出瞭如下的結論



所以以後如果使用LuaScriptMgr的dofile的話就直接傳入檔名字即可,在此也可以想象作者其實是在做好事,幫助開發者更方便傳入檔案路徑,只是第一次使用難免會遇到各種各樣的問題,這裡記錄一下~~~以便有相識經歷的同學少走彎路。在此感謝ulua的作者~~ 突然感覺我們的動態更新就在眼前了~~

題外話:明天有同事離職了,好憂傷~~一個戰壕的隊友,一起擼過通宵,一起玩過dota~~再見朋友~~