【XLua】014-Lua訪問C#:創(chuàng)建C#對象


Lua中new C#對象

  • 1.C#腳本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;


public class _005_LuaCallCSharp : MonoBehaviour {

    private LuaEnv env;
    
    void Start ()
    {
        env = new LuaEnv();
        env.DoString("require 'LuaCallCSharp'");
        
    }




    private void Update()
    {
        if(env!=null)
        {
            env.Tick();
        }
    }

    private void OnDestroy()
    {
        env.Dispose();
    }

}

  • 2、Lua腳本
--new C#對象
local newGameObj = CS.UnityEngine.GameObject()
--創(chuàng)建名稱為helloworld的物體
local newGameObj2 = CS.UnityEngine.GameObject('helloworld')
--創(chuàng)建一個Sphere(球體)
local newSphere=CS.UnityEngine.GameObject.CreatePrimitive(0)
print(newGameObj)
print(newGameObj2)
print(newSphere)

輸出結(jié)果:


img.jpg

注意:

1、在XLua中調(diào)用所有C#相關(guān)的都放到CS下,包括構(gòu)造函數(shù),靜態(tài)成員屬性、方法。

2、Lua里頭沒有new關(guān)鍵字
如果有多個構(gòu)造函數(shù)呢?xlua支持重載,比如你要調(diào)用GameObject的帶一個string參數(shù)的構(gòu)造函數(shù),這么寫:
local newGameObj2 = CS.UnityEngine.GameObject('helloworld')

3、相關(guān)的方法名與類名,空間名不能出現(xiàn)錯誤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容