XLua脚本中使用C#类

通过CS关键字获取Unity类

  1. CS.命名空间.类名()
    例如:CS.UnityEnging.GameObject()
  2. 使用静态成员
    CS.UnityEngine.GameObject.静态方法
  3. 使用成员方法 要使用冒号:
    CS.UnityEnging.GameObject():Translate(CS.UnityEngine.Vector3.right)

获取自定义类

  1. CS.类名()
  2. CS.命名空间.类名()

添加Mono类

Mono类不能自己new
Xlua提供typeof 方法获取类的Type
local obj=CS.UnityEnging.GameObject()
obj5:AddComponent(typeof(CS.mono脚本名))

注意

为了方便使用C#类 节约性能 在Lua中定义全局变量存储C#类 类似别名
例如:
GameObject =CS.UnityEngine.GameObject
Debug=CS.UnityEngine.Debug
Vector3=CS.UnityEngine.Vector3
使用
Debug.Log(“优化”)
GameObject()
Debug.Log(Vector3.right)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xlua的Plugins是用来支持在Unity使用Lua语言的插件。下面是使用Xlua Plugins的基本流程: 1. 下载Xlua插件 可以在Xlua官网下载最新版本的Xlua插件。 2. 将Xlua插件导入Unity项目 将下载好的Xlua插件导入到Unity项目。 3. 创建Lua脚本Unity项目创建一个.lua文件,编写Lua脚本代码。 4. 将Lua脚本打包成.bytes文件 使用luajit工具将Lua脚本打包成.bytes文件。将打包好的.bytes文件拖入Unity项目。 5. 在C#脚本调用Lua脚本C#脚本使用Xlua插件提供的API调用Lua脚本。例如: ```csharp using XLua; using UnityEngine; public class LuaScript : MonoBehaviour { private LuaEnv luaEnv; private void Awake() { luaEnv = new LuaEnv(); luaEnv.DoString("require 'example'"); } private void OnDestroy() { luaEnv.Dispose(); } } ``` 以上代码创建了一个LuaEnv对象,在Awake方法加载了Lua脚本文件example.lua,最后在OnDestroy方法释放了LuaEnv对象。 6. 在Lua脚本调用C#方法和属性 在Lua脚本可以通过XLua提供的API调用C#方法和属性。例如: ```lua local gameObject = CS.UnityEngine.GameObject('TestObject') local transform = gameObject.transform transform.position = CS.UnityEngine.Vector3(0, 0, 0) local time = CS.UnityEngine.Time.deltaTime print(time) ``` 以上代码创建了一个GameObject对象,并且获取了它的Transform组件,设置了Transform组件的位置。最后打印了当前帧的时间。 这就是使用Xlua Plugins的基本流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值