XLua基础
一、Lua文件加载
1).Resources加载xluaTest文件
2).通过loader加载
3).自定义Loader(相当于Resources加载和loader加载结合)
先自定义Loader,再加载
二、C#访问Lua
1).获取一个全局基本数据类型
2).访问一个全局的table
①映射到普通class或struct
②映射到一个interface
先建立一个接口(接口需引用"CSharpCallLua")(相当于一个类),再映射
③映射到Dictionary<>
④映射到List<>
⑤映射到LuaTable类
3).访问一个全局的function
①C#访问lua方法 无参
②C#访问lua方法 有参
Lua中AddFunc方法
先定义参数(引用"CSharpCallLua")(相当于一个类),再执行方法操作
输出结果:(在unity中)
Lua:15;
15;
三、C#调用Lua
Lua中AddFunc方法
C#调用lua方法 使用LuaFunction
输出结果为:(在unity中)
24;
-22
四、Lua调用C#
1).new C#对象
① 普通
C#: var newGameObj = new UnityEngine.GameObject();
Lua: local newGameObj = CS.UnityEngine.GameObject()
② 含参构造
Lua: local newGameObj2 = CS.UnityEngine.GameObject('helloworld')
2).访问C#中静态的属性 (调用用".")
Lua: print(CS.UnityEngine.Time.deltaTime)
3).访问C#中静态的方法 (调用用".")
Lua: local cameraGo = CS.UnityEngine.GameObject.Find('Main Camera')
4).访问C#中的成员方法 (调用用":")
Lua: local cameraGo = CS.UnityEngine.GameObject.Find('Main Camera')
cameraGo:SetActive(false)
5).访问C#中的成员属性 (调用用".")
Lua: local cameraCom = cameraGo:GetComponent("BoxCollider")
CS.UnityEngine.GameObject.Destroy(cameraCom)
XLua基础的更多相关文章
- XLua 基础
一.Lua文件加载 1.Resources文件夹下加载 xxx.lua.txt 文件 1.)Resources加载xuaTest文件 // 1.Resources加载xuaTest文件 TextA ...
- XLua 网络加载(基础操作)
LoadGameMethod 网上资源加载更新:加载场景中另建协程用来加载; public void LoadGameMethod() { StartCoroutine(start()); ...
- C++基础——模拟事务 (1)COMMAND模式
=================================版权声明================================= 版权声明:原创文章 禁止转载 请通过右侧公告中的“联系邮 ...
- 【腾讯Bugly干货分享】手游热更新方案xLua开源:Unity3D下Lua编程解决方案
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2bY7A6ihK9IMcA0bOFyB-Q 导语 xL ...
- xLua中导出Dotween
前言 在xlua的lua脚本中使用dotween,官方的文档中有提到可以导出,但未介绍详细的步骤,相信比较多的朋友有需要,刚好项目中也在使用xlua和dotween,所以做个笔记. 基础知识: xLu ...
- xlua中lua对象到c#对象的转型
lua中的类型 基础类型 #define LUA_TNIL 0 #define LUA_TBOOLEAN 1 #define LUA_TLIGHTUSERDATA 2 #define LUA_TNUM ...
- 热更新解决方案--xlua学习笔记
一.热更新方案简介 在Unity游戏工程中,C#代码(编译型语言)资源和Resources文件夹下的资源打包后都不可以更改,因此这部分内容不能进行热更新,而lua代码(解释型语言)逻辑不需要进行预编译 ...
- 深入xLua实现原理之Lua如何调用C#
xLua是腾讯的一个开源项目,为Unity. .Net. Mono等C#环境增加Lua脚本编程的能力.本文主要是探讨xLua下Lua调用C#的实现原理. Lua与C#数据通信机制 无论是Lua调用C# ...
- xLua自定义加载器
xLua入门基础 环境配置 github下载xLua文件: xLua是腾讯开发,据说比较先进: 下载下来后将Plugins和XLua文件夹考进项目: Plugins多平台权限:XLua和C#交互: t ...
随机推荐
- jssdk防覆盖
防覆盖 var isFromTuia = (function () { var tuiaDomains = ['tuisnake', 'localhost'] function GetUrlDomai ...
- CSS 左右两边底部对齐
https://demo.cssworld.cn/4/3-2.php <style type="text/css"> .parent{ width:500px; tex ...
- MQTT初步使用
环境搭建 1.mosquitto所需要的rpm包 2.c-ares-1.12.0 3.安装最新的openssl版本 4.mosquitto-1.4.10 mosquitto需要的rpm包 c-ares ...
- Lesson 2-4(字典)
2.7 字典 &.字典是许多值的集合,索引可以使用许多不同的数据类型,不只是整数,可以是数.字符串或元组. &.字典的索引被称为“键”,键及其关联的值称为“键-值”对,这种键-值对也称 ...
- 出错:Error creating bean with name 'studentServiceImpl': Unsatisfied dependency expressed through field 'studentMapper';
详细错误: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with nam ...
- Ansible-Zabbix-基础agent批量装机
ansible 批量装机-Zabbix篇 ############################# 小错误区:特此警示,问题要全面化,不要单纯想着你这边的问题,有可能也是对面的问题,反则亦此,学会深 ...
- 获取Shell脚本当前的目录
https://qiushao.net/article/1489983836453?p=1&m=0 SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); ...
- 《ServerSuperIO Designer IDE使用教程》-2.与硬件网关数据交互,并进行数据级联转发,直到云端。发布:v4.2.1版本
v4.2.1 更新内容:1.重新定义数据转发文本协议,使网关与ServerSuperIO以及之间能够相关交互数据.2.扩展ServerSuperIO动态数据类的方法,更灵活.3.修复Designer增 ...
- haproxy5-ssl
配置实例: https://andyleonard.com/2011/02/01/haproxy-and-keepalived-example-configuration 配置haproxy支持htt ...
- HDU - 6054 sa + 树状数组套线段树
因为强制在线所以只能转成序列上的问题然后树套树了... #include<bits/stdc++.h> #define LL long long #define LD long doubl ...