XLua基礎

1、Lua文件加載

 

 1).Resources加載xluaTest文件ide

2).經過loader加載lua

 3).自定義Loader(至關於Resources加載和loader加載結合)spa

   先自定義Loader,再加載3d

2、C#訪問Lua

1).獲取一個全局基本數據類型對象

 

2).訪問一個全局的table blog

 ①映射到普通class或struct接口

 ②映射到一個interfaceit

 先創建一個接口(接口需引用"CSharpCallLua")(至關於一個類),再映射io

 

 

 ③映射到Dictionary<>table

 ④映射到List<>

 ⑤映射到LuaTable類

3).訪問一個全局的function

①C#訪問lua方法  無參

②C#訪問lua方法  有參

Lua中AddFunc方法

 

 先定義參數(引用"CSharpCallLua")(至關於一個類),再執行方法操做

 

 輸出結果:(在unity中)

 Lua:15;

15;

3、C#調用Lua

Lua中AddFunc方法

C#調用lua方法 使用LuaFunction

輸出結果爲:(在unity中)

24;

-22

4、Lua調用C#

1).new C#對象

①   普通

        C#:           var newGameObj = new UnityEngine.GameObject();

Lua:  local newGameObj = CS.UnityEngine.GameObject()

含參構造

Lua:        local newGameObj2 = CS.UnityEngine.GameObject('helloworld')

2).訪問C#中靜態的屬性  (調用用".")

Lua:        print(CS.UnityEngine.Time.deltaTime)

 3).訪問C#中靜態的方法  (調用用".")

 Lua:        local cameraGo = CS.UnityEngine.GameObject.Find('Main Camera')

 4).訪問C#中的成員方法  (調用用":")

  Lua:       local cameraGo = CS.UnityEngine.GameObject.Find('Main Camera')

cameraGo:SetActive(false)

 5).訪問C#中的成員屬性  (調用用".")

  Lua:      local cameraCom = cameraGo:GetComponent("BoxCollider")

CS.UnityEngine.GameObject.Destroy(cameraCom)

相關文章
相關標籤/搜索