ulua学习笔记1
来源:互联网 发布:阿里云产品 编辑:程序博客网 时间:2024/06/06 08:50
ulua下载:点击打开链接
ulua技术论坛:点击打开链接
ulua的机制是利用的反射,就是lua代码和C#代码相互映射
首先导入LuaInterface:using LuaInterface;
在C#中实例化的LuaState也可以预定义一些Lua全局变量,这都是在C#里完成的,比如:
void SetLuaData(LuaState lua){ lua["transform"] = transform; lua["gameObject"] = gameObject;}
预定义了两个变量,一个是transform,一个是gameObject。
关于Lua里的全局变量:
Lua里所有的字符串,如果不是关键字或者运算符,就都是变量;这些变量中,凡是没用local关键字修饰的,就是全局变量,反之,则是局部变量。每个LuaState对象,当它加载过Lua代码以后,它里面定义的全局变量,在这个对象生命期内是一直存在的。如果两次调用这个LuaState的某方法,第一次将某全局变量进行了修改,那么第二次,这个全局变量会在第一次修改的基础上继续修改。
首先是导入了 C#集合以及'UnityEngine'
luanet.load_assembly("Assembly-CSharp")
luanet.load_assembly('UnityEngine')
关于Lua里的预处理:
luanet.load_assembly("Assembly-CSharp")
luanet.load_assembly('UnityEngine')
Vector2 = luanet.import_type('UnityEngine.Vector2')
Vector3 = luanet.import_type('UnityEngine.Vector3')
GameObject = luanet.import_type('UnityEngine.GameObject')
luanet.import_type('System.Collections.Generic.List')
Debug = luanet.import_type('UnityEngine.Debug')
import操作是Lua调用C#的前提
下面导入了一个名字为“CSharpClass_name”的.cs格式的脚本类。
CSharpClass= luanet.import_type('CSharpClass_name')
在Lua里面使用C#的类可以通过两种方式,一种就是将C#类付给lua的一个变量;另一种方法就是通过GetComponent方法,将C#引进到Lua里面。
例:
local go=GameObject.Find(obj_name’);
local labletext = go:GetComponent('UILabel');
注意:
对象调用自己的函数用冒号
lua的后缀是不被支持打包进assertbundle的,所以我们一般把 .lua后缀 变为.lua.txt 或者 .lua.bytes 进行打包。
- ulua学习笔记1
- Ulua学习笔记
- uLua热更新学习笔记
- ULUA 笔记
- 【ulua学习笔记】SimpleFramework使用步骤总结
- Unity3D 学习笔记4 —— UGUI+uLua游戏框架
- uLua+SimpleFramework常见问题的解答及学习笔记
- ulua使用笔记
- 学习ULua之委托
- uLua学习笔
- ulua入门1
- uLua
- ulua
- ulua
- ulua
- 【游戏客户端开发】Unity3D 学习笔记4 —— UGUI+uLua游戏框架
- unity3d热更新插件uLua学习整理
- unity3d热更新插件uLua学习整理
- 全面了解 ARM CP15协处理器 (深度好文)
- SignalR+NAudio实现语音会话[WPF]
- MyEclipse2014如何设置默认生成Encoding为UTF-8格式的JSP文件
- 记录学习hibernate4.3的日子之如何在hibernate中配置时间的<property/>
- Spring MVC Web应用上下文
- ulua学习笔记1
- ADB常用命令
- Q4:替换空格
- Android进阶(二十五)setTextColor()的参数设置方式
- Android圆形头像的绘制(二)之自定义视图
- Tricky sum
- linux vim程序编辑器-vim1
- 兼容各浏览器的Zero Clipboard js+swf实现的复制功能使用方法
- 运动检测ViBe算法python实现