-- 创建唯一索引 local index = {} -- 创建元表 local mt = { __index = function (t, k) print("access to element " .. tostring(k)) return t[index][k] end, __newindex = function
转载 2024-10-09 17:19:41
13阅读
                         【Lua进阶系列】实例lua调用capi     大家好,我是Lampard~~    欢迎来到Lua进阶系列博客    首先祝
一.前言为了利用虚幻引擎强大实时渲染功能制造出3D影片,提高出产效率,并且结合后期动作捕捉,面部捕捉等功能,准备使用UE4当中内容录制器插件。由于UE4.26之后引擎不再支持sequence recorder这个插件功能,所以UE4从4.23开始提供了take recorder插件对项目内播放内容进行实时渲染录制,如图1、图2所示图1 sequence recorder图2 take re
1.Lua 错误处理错误类型有:语法错误运行错误语法错误语法错误通常是由于对程序组件(如运算符、表达式)使用不当引起。运行错误运行错误是程序可以正常执行,但是会输出报错信息。错误处理我们可以使用两个函数:assert和 error 来处理错误。实例如下:local function add(a,b) assert(type(a) == "number", "a 不是一个数字") a
异步 / 同步##在维基百科释义是:在计算机编程,异步,指的是独立于主程序流发生事件,以及处理该事件方式。这些可能是“外部”事件,例如信号到达,或由程序发起操作,该操作与程序同时/并发执行,而程序不需要阻塞等待结果。异步输入(input)/输出(output)是导致异步一个例子,让程序向存储或网络设备发出命令,而处理器继续执行程序。这样做提供了一定程度并行性。在一个编程接口
本文为 博客园 simonw 原
转载 2023-01-05 16:48:46
124阅读
要求:实现事件监听、移除、派发 local EventSystem = {} local this = EventSystem this.mEventTable = {} this.mObjTable = {} --注册事件 function EventSystem:AddListener(eve ...
转载 2021-08-16 20:50:00
601阅读
2评论
写在最前        由于工作需要,有幸正真地开始接触lua。        lua一直是动态执行脚本宠儿,而究其原因不外乎简介方便,效率高。我甚至看到过有帖子说lua就是为了动态化c而生,c是静态,是编译型,这使得他灵活性大大下降,但是lua则弥补了他短板。天不生你lua哥,万古c界如长夜。相关背景&
转载 2024-04-16 17:10:05
53阅读
文章目录一. 发布与订阅(一) 概述(二) 频道订阅和退订(三) 模式订阅和退订(四) 发送消息(五) 查看订阅消息1. PUBSUB CHANNELS [pattern]2. PUBSUB NUMSUB3. PUBSUB NUMPAT二. 事务(一) 概述(二) 事务实现1. 事务开始2. 命令入队3. 事务队列4. 执行事务(三) WATCH命令1. 概述2. 实现3. 监视机制触发
转载 2024-07-04 09:47:01
87阅读
Cocos2d-x 3.1.1 Lua实例-AccelerometerTest(重力加速计)  本篇博客介绍Cocos2d-x第一个实例——重力加速计測试。效果图(注:这里无法模拟重力感应):   --[[ AccelerometerTest.lua 重力加速器样例 ]] --返回一个层 local function AccelerometerMainLa
Cocos2d-x 3.2 Lua演示样例 ClickAndMoveTest(点击移动測试)  本篇博客介绍Cocos2d-x 3.2Lua演示样例中点击移动样例,在这个样例你能够得到怎样创建单点触摸事件和注冊事件监听回调方法。 演示样例代码: --[[ ClickAndMoveTest.lua 点击与移动 ]]-- --
参考手册 - 5 - 标准库[5-表操作,6-数学运算函数,7-输入输出设备] 5.5 - 表操作table内提供其所有函数。 表多数函数假定给定表表示数组或列表。对于这些函数,当我们谈到表“长度”时,我们意指取长操作符结果。 table.concat (table [, sep [, i [, j]]]) 给定一个数组,其所有元素是字符串或数字,返回 table[i]..s
  通过对 Redis 源码 scripting.c 文件进行分析,解释 Lua 脚本功能实现机制。  预备知识  因为脚本功能实现源码和命令关系密切,最好在阅读这篇文章之前先了解 Redis 脚本功能是如何使用,否则你可能无法看明白这里一些实现决策是如何做出。  EVAL 命令文档是学习使用脚本功能一个很好起点。  脚本功能实现  Redis 脚本功能实现代码放在源码
转载 2024-03-21 08:54:42
106阅读
昨天我们学习到lua语言中数据类型了,在数据类型其实还有两个部分,接下来我们将剩余两个部分完成掉,然后再进行第三部分--lua变量。2.6function(函数)在lua函数还是与c#函数有点不一样,其实主要集中在语法上,算法是一样。function格式是如图总所示,因为lua是没有{},所以用end来表示一个函数结束。在lua函数也是可以通过匿名函数方式传递参数传递
转载 2024-03-09 23:25:59
496阅读
本文涉及:Redis普通事务实现方式、lua脚本基础使用以及与Java结合使用 ◆ 普通事务 ◆ Redis本身提供了multi关键字用来开启事务,exec用来关闭事务。Redis这两个关键字之间操作是原子性。 127.0.0.1:6379> multi OK 127.0.0.1:6379> set key 1 QUEUED 127.
转载 2024-04-08 22:41:06
71阅读
对字符串来说,#取字符串长度,但对于table需要注意。luatable可以用数字或字符串等作为key, #号得到是用整数作为索引最开始连续部分大小, 如果t[1] == nil, 即使t[5], t[6], t[7]是存在,#t仍然为零。对于这类tb[1],tb[2]....才能获取到正确长度。local tab = {}tab[1] = 1tab[2] = 2tab[3] = nilprint(#tab)--结果为2如果table第一个元素key为非数字,那么#t
原创 2022-11-29 20:07:59
148阅读
在使用Unity开发手游项目中,用Lua作为热更脚本时,也许有的RPG项目会有连战斗也要求热更,对于角色挂机自动战斗,Unity有行为树插件Behavior Designer可以实现,但不能实现战斗逻辑热更,所以我用Lua对着Behavior Designer重新实现了部分基础功能,这样,使用Lua行为树实现挂机自动战斗,就可以热更啦!前提说明: 1,本文假设读者对树插件Behavior De
Lua 对字符串来说, 取字符串长度,但对于table需要注意。 luatable可以用数字或字符串等作为key, 号得到是用整数作为索引最开始连续部分大小, 如果t[1] == nil, 即使t[5], t[6], t[7]是存在, t仍然为零。对于这类tb[1],tb[2]...
原创 2021-07-20 16:56:49
489阅读
在很多语言中都有闭包概念,而在这里,我将主要对Lua语言闭包概念进行分析与总结。希望对大家学习Lua有帮助。什么是闭包?闭包在Lua是一个非常重要概念,闭包是由函数和与其相关引用环境组合而成实体。我们再来看一段代码:function newCounter() local i = 0 return function () -- 匿名函数 i = i
转载 2024-06-07 14:58:03
36阅读
之前一直没理清lua_gettable和lua_settable使用,今天理清了,顺便就做下笔记了。 1.lua_gettable void lua_gettable (lua_State *L, int index);把t[k] 值压入堆栈,这里 t 是指有效索引 index 指向值,而 k 则是栈顶放值。这个函数会
转载 2024-06-13 20:41:56
248阅读
  • 1
  • 2
  • 3
  • 4
  • 5