

访问C#成员属性与方法
-
1、Lua脚本
--访问成员属性,方法
local GameObject = CS.UnityEngine.GameObject --获取GameObject类
local camera=GameObject.Find('Main Camera')--静态方法调用
audiolistener=camera:GetComponent("AudioListener") --访问成员函数,使用冒号,不需要传递自身
audiolistener.enabled=false --访问成员属性,并设置
isActive=audiolistener.isActiveAndEnabled
if isActive then
print("audiolistener isActive:true")
else
print("audiolistener isActive:false")
end
-
2、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();
}
}
运行结果:

img.jpg
注意:
1、在调用类成员方法时,推荐使用冒号(:)的方式调用成员方法,可以省略掉传递类自身作为方法的第一参数:
camera:GetComponent("AudioListener")
否则使用点号(.)
camera.GetComponent(camera,"AudioListener")