0%

项目中一直使用tolua框架,底层使用C#开发,逻辑使用lua开发。借助tolua的源码,研究一下lua与C#是如何互相调用的,然后自己写了个简单的demo作为记录。

阅读全文 »

Lua中的迭代器提供的是一种遍历表中所有元素的机制,它通常是函数的形式,每次调用函数,返回“下一个”值。Lua中的迭代器有两种实现方式,基于闭包(closure)或者基于协程(coroutine)。以下会通过一个实例来分别讨论两种迭代器的实现。

阅读全文 »

本文使用对比测评的方式比较了几种Lua中代码和方式,并做了简要的总结和分析。结合其中结论,可指导写出质量更高、性能更优的脚本。本文基于Lua5.1,大部分内容也同样适用于Lua5.2和5.3。本文中引用到的Lua源代码都取自Lua 5.1.5版本。

阅读全文 »

Text用于在UI中绘制文本标签。文字绘制是比较复杂的过程,Text和Unity中的很多其它类共同完成这一绘制过程。本文会围绕UGUI中的Text类并拓展到相关的其它类,以学习和了解文本是如何绘制出来的。

阅读全文 »

Image是UGUI中最常用的组件之一,用于在UI中显示一个图片(Sprite),继承自MaskableGraphic,覆写了GraphicMaskableGraphic的一些方法。同时实现了三个接口,ISerializationCallbackReceiver接收序列化和反序列化完成的回调,ILayoutElement作为自动布局元素,实现了计算自动布局尺寸的接口,ICanvasRaycastFilter实现了用于处理射线投射时过滤的方法,后边会一一详述。

阅读全文 »

最近遇到的一个问题是在OSX和iOS上,带BOM的UTF-8编码格式的文件(主要是Excel导出来的lua配表)无法正常工作。于是在打包脚本中增加了一个环节去除各UTF-8编码文件中可能出现的BOM头。

阅读全文 »