【XLua】015-Lua访问C#:静态属性,方法

【XLua】015-Lua访问C#:静态属性,方法_第1张图片

【XLua】015-Lua访问C#:静态属性,方法_第2张图片

访问C#静态属性,方法

  • 1、Lua脚本:
--访问静态属性,方法

local GameObject = CS.UnityEngine.GameObject --获取GameObject类
local Camera=CS.UnityEngine.Camera --获取Camera类
--小技巧:如果需要经常访问的类,可以先用局部变量引用后访问,除了减少敲代码的时间,还能提高性能

print('UnityEngine.Time.deltaTime:', CS.UnityEngine.Time.deltaTime) --读静态属性
CS.UnityEngine.Time.timeScale = 0.5 --写静态属性

local camera=GameObject.Find('Main Camera')--静态方法调用
camera.name="Main Camera by Lua" --修改主相机name属性

print(Camera.main.name)

  • 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();
    }

}

运行结果:


【XLua】015-Lua访问C#:静态属性,方法_第3张图片
img.jpg

小技巧:

如果需要经常访问的类,可以先用局部变量引用后访问,除了减少敲代码的时间,还能提高性能:

--获取GameObject类,存储在local变量GameObject中
local GameObject = CS.UnityEngine.GameObject

--使用GameObject变量访问静态Find()方法
GameObject.Find('helloworld')

你可能感兴趣的:(【XLua】015-Lua访问C#:静态属性,方法)