![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua
-013-
思从深而行从简
展开
-
Unity拓展编辑器 一键导出图集工具
在项目开发过程中我们必不可少的会将美术给的资源打包成图集来降低drawcall,减少包内存。为了方便的生成图集,以及生成图片路径配置来方便通过图片名称快速定位所在的图集以及图片位置。原创 2022-09-16 16:16:28 · 1487 阅读 · 0 评论 -
Lua __index元方法和__newindex元方法 C# get set 实现
当访问一个表中不存在的字段时会得到nil。这是正确的,但不是完整的真相。实际上,这些访问会引发解释器查找一个名为__index的元方法。如果没有这个元方法,那么像一般情况下一样,结果就是nil;否则,则由这个元方法来提供最终结果。假设我们需要创建一个UI界面,包括位置x,y 宽高 width,height,当我们创建一个窗口的时候需要放回默认的值大小 __newindex元方法 元方法__newindex与__index类似,不同之处在于前者用于表的更新而后者用于表的查询。当对一个表中不存在的索引赋值原创 2022-06-30 19:00:37 · 239 阅读 · 0 评论 -
Lua 库定义相关的元方法 __tostring
我们见过的所有元方法针对的都是核心Lua语言。Lua语言虚拟机(virtual machine)会检测一个操作中涉及的值是否有存在对应元方法的元表。不过,由于元表是一个普通的表,所以任何人都可以使用它们。因此,程序库在元表中定义和使用它们自己的字段也是一种常见的实践。 函数tostring就是一个典型的例子。正如我们此前所看到的,函数tostring能将表表示为一种简单的文本格式:函数print总是调用tostring来进行格式化输出。不过,当对值进行格式化时,函数tost ring会首先检查值是否有一原创 2022-06-30 17:40:38 · 744 阅读 · 0 评论 -
Lua 元表和元方法之算术运算相关元方法
Lua语言中的每一个值都可以有元表。每一个表和用户数据类型都具有各自独立的元表,而其他类型的值则共享对应类型所属的同一个元表。Lua语言在创建新表时不带元表: 算术运算符元方法 每种算术运算符都有一个对应的元方法。加法__add、乘法 intersection,减法(__sub)、除法(__div)、floor除法(__idiv)、负数(__unm)、取模(__mod)和幂运算(__pow)。类似地,位操作也有元方法:按位与(__band)、按位或(__bor)、按位异或(__bxor)、按位取反(_原创 2022-06-30 16:56:10 · 116 阅读 · 0 评论