XLua Lua訪問C#

 LuaCallCSharp.cs

using UnityEngine;

using XLua;

 

public class LuaCallCSharp : MonoBehaviour {

 

    void Start () {

        LuaEnv luaEnv = new LuaEnv();  

        luaEnv.DoString("require 'LuaCallCSharp'");

        luaEnv.Dispose();

    }  

}

在Lua中new C#對象(創建遊戲物體)

 LuaCallCSharp.lua.txt

--構造遊戲物體,new對象

CS.UnityEngine.GameObject("new by lua")

 Lua訪問C#靜態屬性和方法

 LuaCallCSharp.lua.txt

--訪問靜態屬性

print(CS.UnityEngine.Time.deltaTime)

 

--設置值

CS.UnityEngine.Time.timeScale = 0.5

 

--查找遊戲物體,並修改它的名字

local gameObject = CS.UnityEngine.GameObject

local camera = gameObject.Find("Main Camera")

camera.name = "update by lua"

 

--查找燈光

local light = gameObject.Find("Direction Light")

Lua訪問C#成員屬性和方法

LuaCallCSharp.lua.txt

--調用成員方法的時候,使用冒號

local cameraCom= camera:GetComponent("Camera")

 

--或者用點

local cameraCom= camera.GetComponent(camera,"Camera")

 

--刪除對象

gameObject.Destroy(cameraCom)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章