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


访问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')

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,949评论 0 38
  • 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...
    叶染柒丶阅读 11,050评论 0 11
  • 虽然计算机可以做很多事情,但它不会思考,它需要接受系统化的指令来工作。大部分用户通过应用程序为计算机指派任务,软件...
    JunChow520阅读 7,210评论 0 4
  • 本周还是继续带着点负能量,天气热睡得不好,睡眠对于我来说,真的很重要! 工作上:本周工作不少的,忙碌着6月...
    美美_bdc7阅读 500评论 0 0
  • 三十岁之后,似乎精力都大幅度下降了,即使是娱乐也会觉得耗费精神而作罢。工作的时候进行时间管理,怎么都觉得时间不够,...
    FelixYang阅读 2,116评论 7 38