摘要:
由于此系列文章是由飞书文档转过来的,格式可能不清晰,建议看飞书文档。 探索列表: NGUI是如何渲染出一张图的? 图集的原理,以及图集是如何跟普通图片一样渲染的? UISprite、UITexture的Simple、Sliced、Tiled效果是怎么实现的? UIPanel是如何实现裁剪、层级管理、 阅读全文
摘要:
目录:NGUI源码学习 UITweener:动画系统基类,计算动画的进度值,update处理。 基类UITweener属性方法: UITweener:动画组件基类,通过enabled控制动画的开始结束 Begin-enable-Update-DoUpdate-Sample property: m 阅读全文
摘要:
目录:NGUI源码学习 一、UIGrid:排列等比大小子对象。 Reposition:排列方法。 触发:MonoBehaviour的Start、设置repositionNow= true或者手动调用。 获取并排列子对象:GetChildList,排序方法也很简单。 public List<Tra 阅读全文
摘要:
目录:NGUI源码学习 UIScrollView:滑动组件,核心方法是Press、Drag、CalculateConstrainHelper。 核心方法、属性: UIScrollView:滑动列表 property: smoothDragStart:按下时立即开始滑动还是添加过渡状态 restr 阅读全文
摘要:
目录:NGUI源码学习 参考文章:https://blog.csdn.net/u012091672/article/details/17227677 UICamera事实上是对Unity原生的输入系统(UnityEngine.Input)的进一步封装,让开发人员能够直接处理点击、长按、拖动等事件 阅读全文
摘要:
目录:NGUI源码学习 UIDrawCall:所有的NGUI渲染都是通过UIDrawCall这个类实现的。 UIDrawCall的实现原理前面已经讲过了:NGUI Panel裁剪、层级实现原理 核心方法及属性: UIDrawCall:矩形渲染,本身是new出来的GameObject,动态挂载 阅读全文
摘要:
目录:NGUI源码学习 一、UIAtlas图集和UISpriteData,负责数据的存储。 1.UIAtlas:图集是一个ScriptableObject对象。 里面保存了图集的相关信息,主要是材质、Pixel Size、图集包含的UISpriteData列表。 GUIAtlas:INGUIAt 阅读全文
摘要:
目录:NGUI源码学习 UIBasicSprite: 所有图片绘制的父类. 提供Sample\Slider\Tiled\Filled等填充类型的填充方法,主要是填充geometry.verts, geometry.uvs, geometry.cols,然后再UIPanel的FillAllDraw 阅读全文
摘要:
目录:NGUI源码学习 一、UIGeometry:保存了集合图形的顶点信息,包括顶点坐标、uv、颜色值信息,并提供了这些信息的获取方法。这些顶点信息最终会添加到所属UIWidget的UIDrawcall里。 UIGeometry:几何对象数据存储、获取 property: verts:顶点数组, 阅读全文
摘要:
目录:NGUI源码学习 一、UIAnchor:非UIRect对象的坐标适配。 NGUI的Anchor锚点: public enum Side { BottomLeft, Left, TopLeft, Top, TopRight, Right, BottomRight, Bottom, Cente 阅读全文
摘要:
目录:NGUI源码学习 Unity渲染顺序:https://www.jianshu.com/p/0341f0ab9020 1.NGUI渲染顺序。 上面的文章详细的分析了unity中camera depth -> sorting layer -> sorting order -> RenderQu 阅读全文
摘要:
目录:NGUI源码学习 参考文章:https://www.cnblogs.com/JLZT1223/p/6080164.html https://docs.unity3d.com/ScriptReference/Mesh.html 在unity里动态渲染一个Mesh,需要设置MeshFilter 阅读全文
摘要:
由于此系列文章是由飞书文档转过来的,格式可能不清晰,建议看飞书文档。 参考文章: 正则表达式:https://blog.csdn.net/qq_38507850/article/details/79179128 Lua对 c的交互API:https://cloudwu.github.io/lua53 阅读全文
摘要:
目录:Xlua源码学习 一、xlua.hotfix对需要打补丁的类、方法进行替换。 xlua.hotfix = function(cs, field, func) if func == nil then func = false end local tbl = (type(field) == ' 阅读全文
摘要:
目录:Xlua源码学习 一、最简单的LuaEnv的DoString方法。 DoString(init_xlua, "Init"); public object[] DoString(byte[] chunk, string chunkName = "chunk", LuaTable env = 阅读全文
摘要:
目录:Xlua源码学习 参考文章:: https://www.jianshu.com/p/07dc38e85923 https://gameinstitute.qq.com/community/detail/111993 https://gameinstitute.qq.com/communit 阅读全文
摘要:
目录:Xlua源码学习 本篇以CS.XLua.LuaDLL.Lua:xlua_is_eq_str(L,index,str)的调用为例子。 文章比较长,先说结论: 1.CS:LuaEnv的init_xlua代码块里生成的全局表,核心init_xlua里的metatable:__index方法。 2. 阅读全文
摘要:
目录:Xlua源码学习 链接:https://pan.baidu.com/s/1ocCLzA5eEONs-032wRD5Zw 提取码:zkqu xlua通过模板文件批量生成c#文件这块还是挺有意思的,建议把前面链接的lua生成代码下载下来看一下。 具体的生成流程是: 1.Generator收集这种类 阅读全文