Unity实验室之XLua调用C#程序

本文详细介绍了在Unity中如何利用XLua库来调用C#脚本,涵盖了创建游戏对象、省略命名空间、访问Unity静态类、使用枚举类型、调用重载函数、扩展方法及事件等多种功能的实现方法,为Unity热更新提供了实践指导。
摘要由CSDN通过智能技术生成

介绍

xLua是腾讯在github上的一个开源项目(下载链接),主要解决热更的问题,是和C#(Unity,.Net,Mono)结合的解决方案。支持android,ios,windows,linux,osx等平台。目前已经有许多成熟产品应用案例使用了xLua.本文主要介绍xLua如何调用C#脚本。

创建游戏对象

-example.lua.txt

local obj1 = CS.UnityEngine.GameObject()
local obj2 = CS.UnityEngine.GameObject('Hello')
print(obj1,obj2)

省略命名空间

-example.lua.txt

local GameObject = CS.UnityEngine.GameObject
local obj1 = GameObject();
local obj2 = GameObject('Hello')
print(obj1,obj2)

访问Unity的静态类

-example.lua.txt

local GameObject = CS.UnityEngine.GameObject
local Time = CS.UnityEngine.Time
print('deltaTime:',Time.deltaTime)
Time.timeScale = 0.5
print('hello',GameObject.Find('hello'))

创建自定义类的实例

//Example.cs
public class Character{
    public int m_id;
    public string m_name;
    public void Log(){
        Debug.Log(m_id+":"+m_name);
    }
}
- example.lua.txt
local Character = CS.Character
local character = Character()
character.m_id = 25
character.m_name = 'hello'
print(character.m_id)
print(character.m_name)
character:Log()

调用静态变量和方法

//Example.cs
public 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值