美文网首页unity3D技术分享
【XLua】015-Lua访问C#:静态属性,方法

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

作者: lijianfex | 来源:发表于2018-10-08 21:24 被阅读238次

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

    运行结果:


    img.jpg

    小技巧:

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

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

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/zrajaftx.html