toLua学习
通用的过程
//开始
LuaState lua = new LuaState();
lua.Start();
--在这个位置插入lua的具体操作--
//结束
lua.CheckTop();
lua.Dispose();
lua = null;
1.第一个例子 DoString
lua.DoString("print("Hollo toLua.");")

2.第二个例子 DoFile 和 Require
string fullPath = Application.dataPath + "\\ToLua/Examples/02_ScriptsFromFile";//找到lua文件的父目录
lua.AddSearchPath(fullPath); //增加lua文件的搜索目录
//DoFile的操作
lua.DoFile("脚本名.lua");
//Require的操作
lua.Require('脚本名(不需要带后缀名)');

3.第三个例子 回调lua的函数
lua脚本:
--start--
function luaFunc(num)
return num + 1
end
test = {}
test.luaFunc = luaFunc
--end--

//优先读取persistentDataPath/系统/Lua 目录下的文件(默认下载目录)
//未找到文件怎读取 Resources/Lua 目录下文件(仍没有使用LuaFileUtil读取)
new LuaResLoader();
lua.DoFile("上面的lua脚本");
//获取lua里面的func的方法
luaFunc=lua.GetFunction("test.luaFunc");
//调用lua里面的方法1
int num = luaFunc.Invoke<int, int>(123456);
//调用lua里面的方法2
int CallFunc()
{
luaFunc.BeginPCall();
luaFunc.Push(123456);
luaFunc.PCall();
int num = (int) luaFunc.CheckNumber();
luaFunc.EndPCall();
return num;
}
num = CallFunc();
//调用lua里面的方法3
DelegateFactory.Init();
Func<int, int> Func = luaFunc.ToDelegate<Func<int, int>>();
//调用lua里面的方法4
num = lua.Invoke<int, int>("test.luaFunc", 123456, true);

4.第四个例子

lua脚本:
--start--
print('Objs2Spawn is: '..Objs2Spawn)
var2read = 42
varTable = {1,2,3,4,5}
varTable.default = 1
varTable.map = {}
varTable.map.name = 'map'

meta = {name = 'meta'}
setmetatable(varTable, meta)

function TestFunc(strs)
print('get func by variable')
end
--end--

lua["Objs2Spawn"] = 5;//对应脚本里面的第一句
lua.DoFile(lua的脚本名);
Debugger.Log("Read var from lua: {0}", lua["var2read"]);//读取lua脚本里面的值

toLua学习的更多相关文章

  1. 热更新解决方案--tolua学习笔记

    一.tolua使用准备工作:从GitHub上下载tolua(说明:这篇笔记使用的Unity版本是2019.4.18f1c1,使用的tolua是2021年4月9日从GitHub上Clone的tolua工 ...

  2. 学习tolua#·20多个例子

    初始项目搭建 clone官方库 新建unity工程 依次把官方库里的Assets和Unity5.x/Assets拷贝到项目Assets里 打开unity工程, 开始逐个学习例子,例子目录: 1. he ...

  3. Unity热更新学习(二) —— ToLua c#与lua的相互调用

    tolua 下载地址:http://www.ulua.org/index.html c#调用lua的方法,tolua的官方例子提供了很多种.我初步学了一种在做项目使用的方法.通过DoFile方法执行l ...

  4. lua学习笔记

    工作需要,上周对lua赶进度似地学习了一遍,主要参考<lua中文教程>一书,中间参考一些<lua游戏开发实践>,首先说说这两本书,后者不适合初学,里面是对一个游戏脚本系统进行粗 ...

  5. uLua 学习笔记 之一 lua脚本 打包与读取

    最近要学习热更新,搜了下,选择了ulua这个插件,本人也是新人.对这个插件也是一知半解,不过幸好加了专门讨论这一块的群,这个群的技术氛围还是很浓重的,特别是已经形成了一套自己的lua学习框架.最近周末 ...

  6. ulua学习笔记(二):官方资料及问题解决方案

    uLua&SimpleFramework入门视频教程网盘地址 视频教程地址 http://pan.baidu.com/s/1gd8fG4N游戏框架地址 https://github.com/j ...

  7. quick-cocos2dx学习笔记

    20140603 下载quick,拉开拉链,跑setup.bat(注意,setup事就是在系统环境变量里加入QUICK_COCOS2DX_ROOT,假设不运行这个的话,启动player时会报找不到fr ...

  8. tolua++实现lua层调用c++技术分析

    tolua++技术分析 cocos2dx+lua 前言 一直都使用 cocos2dx + lua 进行游戏开发,用 Lua 开发可以专注于游戏逻辑的实现,另外一方面可以实现热更新:而且 lua 是一个 ...

  9. 【cocos2d-x + Lua(1) 绑定Lua并使用tolua++】

    为什么要使用Lua进行游戏开发?转载请注明出处http://www.cnblogs.com/zisou/p/cocos2dx-lua1.html 上面一个问题我觉得在我们使用Lua之前需要深入思考的, ...

随机推荐

  1. SSL卸载技术对于HTTPS应用的优化与思考

    迅猛发展的互联网为我们提供了丰富的信息资源,在带来便利的同时也影响着人们工作和生活方式.而让我们无法忽视的是,在开放的互联网所带来的繁荣背后,同时也潜藏着安全方面的隐患.随着人们对网络的依赖愈渐加深, ...

  2. weex 打包apk

    安装 weexpack weexpack create my-project    //创建项目 cd my-project cnpm install //安装依赖 npm start //运行项目 ...

  3. ORM学习 一 : JPA JDBC

    JDBC jdbc是一组规范,是接口,由不同的数据库厂商各自提供相应的实现类,打包成jar包,也就是所谓的数据库驱动.而我们的java应用程序,只需要调用jdbc的接口就可以了. 什么是JPA Jav ...

  4. Redis的小白应用

    在window下测试学习redis 步骤: 1.先下载安装 redis,(conf文件制定配置文件(redis-server.exe  redis.conf ),若不指定则默认), 基本上我是直接点击 ...

  5. 8个超炫的 Web 效果

    CodePen 是一个在线的 HTML.CSS 和 JavaScript 代码编辑器,能够编写代码并即时预览效果.你在上面可以在线展示自己的作品,也可以看到其他人在网页中实现的各种令人惊奇的效果. 今 ...

  6. PowerDesigner里怎样查找特定的表

    转自:https://blog.csdn.net/u013178480/article/details/78261650 crtl+f查找,在code处输入你要查找的表名,然后点击“find now& ...

  7. 怎么在Ubuntu下设置程序的快捷键

    参考 http://jingyan.baidu.com/article/1e5468f97f9e75484861b773.html 我的系统是 64bit Ubuntu14.04 我设置了 gedit ...

  8. json 与pickle模块(序列化与反序列化))

    一.什么是序列化(pickling): 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化. 序列化可以持久保存状态, 不会根据计算机断电或者重启程序,而使得之前的数据状态丢失.可以在下次程 ...

  9. 区间sum 和为k的连续区间-前缀和

    区间sum 描述 有一个长度为n的正整数序列a1--an,candy想知道任意区间[L,R]的和,你能告诉他吗? 输入 第一行一个正整数n(0<n<=1e6),第二行为长度为n的正整数序列 ...

  10. oop的三大特点

    1.封装性:也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法.于是开发人员只 需要关注这个类如何使用,而不用去关心其具体的实现过程, ...