![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NGUI 源码
文章平均质量分 94
EasonEasonEasonEason
这个作者很懒,什么都没留下…
展开
-
NGUI 渲染流程深入研究 (UIDrawCall UIGeometry UIPanel UIWidget)
NGUI 渲染流程深入研究 (UIDrawCall UIGeometry UIPanel UIWidget) 上图是一个简要的NGUI的图形工作流程,UIGeometry被UIWidget实例化之后,通过UIWidget的子类,也就是UISprit,UILabel等,在OnFill()函数里算出所需的Geometry缓存(顶点数,UV,Color,法线,切线)。PS:之所以要生成这转载 2017-02-22 17:11:16 · 610 阅读 · 0 评论 -
NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层原理
NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层原理By D.S.Qiu尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 之前项目中用的NGUI的版本是3.0.7 f3,开始的时候感觉没有什么问题,直达最近项目UI的完成度比较高时,就突然出现掉帧很严重的现象,即使只有一个UI打开转载 2017-02-06 17:21:36 · 345 阅读 · 0 评论 -
TextFx——Ease Function(缓动函数)
TextFx——Ease Function(缓动函数) By D.S.Qiu尊重他人的劳动,支持原创,转载请注明出处:http://dsqiu.iteye.com 之前有介绍过UITweener(点击前往),NGUI用了一个目录“收集”Tween脚本,集成的功能还是很丰富的,只提供了6种缓动函转载 2017-02-06 17:23:58 · 1317 阅读 · 0 评论 -
NGUI所见即所得之UIAnchor & UIStretch
NGUI所见即所得之UIAnchor & UIStretch NGUI的Example/Scenes/Example1介绍的主要就是UIRoot,UIAnchor和UIStretch这三个脚本,当然UIRoot是每个UI都会有的(挂在根节点),之前D.S.Qiu也写过博客介绍过UIRoot(猛点查看)。一直都对NGUI把Unity的单位和像素的转换和统一都很有疑惑,因之手游项目转载 2017-02-06 17:34:19 · 738 阅读 · 0 评论 -
NGUI所见即所得之UIPanel
NGUI所见即所得之UIPanel 之前在NGUI所见即所得之UIWidget , UIGeometry & UIDrawCall 文中就这样用过这样的一个例子: UIGeometry好比为煮菜准备食材,UIDrawCall好比是煮菜的工具(锅,炉子等),UIPanel就是大厨了决定着什么时候该煮菜,UIWi转载 2017-02-06 17:36:35 · 514 阅读 · 0 评论 -
NGUI学习笔记
NGUI学习笔记一、 NGUI的直接用法1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加。(注:用Component添加无效)。2. Attach an Anchor:表示为该物体添加了UIAnchor脚本,作用是避免像素偏移的问题3. Attach UIStretch:表示为该物体添加了UIStretch脚本转载 2016-11-21 16:42:51 · 503 阅读 · 0 评论 -
UILabel简介
1. UILabel简介(1)UILabel支持类型a.图字:是指根据某些工具,将游戏中需要用到的文字渲染到一张纹理上,并附其纹理信息(包括 id值,尺寸,间距等)。b.字库字:是指直接载入ttf等字库文件,根据从ttf文件中读取的数据,生成纹理并渲染。(2)UILabel基本属性 Font类型:上述介绍的图字和字库字(Bitmap与Dynamic)转载 2016-11-29 11:44:00 · 442 阅读 · 0 评论 -
NGUI-使用UILabel呈现图片和不同格式的文字
1、可以使用BBCode标记[b]Bold[/b] 粗体[i]italic[/i] 斜体[u]underline[/u] 下划线[s]strikethrough[/s] 删除线[sub]sub[/sub] 下标转载 2016-12-12 11:33:11 · 480 阅读 · 0 评论 -
NGUI 渲染流程深入研究 (UIDrawCall UIGeometry UIPanel UIWidget)
NGUI 渲染流程深入研究 (UIDrawCall UIGeometry UIPanel UIWidget) 上图是一个简要的NGUI的图形工作流程,UIGeometry被UIWidget实例化之后,通过UIWidget的子类,也就是UISprit,UILabel等,在OnFill()函数里算出所需的Geometry缓存(顶点数,UV,Color,法线,切线)。PS:之所以要生成这转载 2016-12-26 17:41:13 · 1111 阅读 · 0 评论 -
Unity3D-深入剖析NGUI的游戏UI架构 --主要讲了UIWiget,UIDrawCall,UINode,UIPanel
-NGUI分析,使用NGUI做UI需要注意的几个要点在此我想罗列一下,对我在U3D上做UI的一些总结,最后解剖一下NGUI的源代码,它是如果架构和运作的。 在此前我介绍了自己项目的架构方式,所以在NGUI的利用上也是同样的做法,UI逻辑的程序不被绑定在物体上。那么如何做到GUI输入消息的传递呢,答案是:我封装了一个关于NGUI输入消息的类,由于NGUI的输入消息传递方式是转载 2017-01-13 12:02:05 · 1133 阅读 · 0 评论 -
NGUI内核大剖析(一) UIRect
UIRect是UIPanel和UIWidget的基类,研究好前者,才能更方便的研究后两者,所以我将它做为本系列的第一篇。(注:本系列讨论的NGUI版本为3.10.0)首先要知道的一点是,UIRect是一个abstract class,也就是抽象类,它不能被实例化。它为UIPanel和UIWidget提供了一些公用的方法,这些方法通过AnchorPoint设置后两者的矩形区域。转载 2017-06-19 17:40:20 · 601 阅读 · 0 评论 -
NGUI所见即所得之UIGrid & UITable
尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 你是不是对 UIGrid 和 UITable 定位计算方法还模糊不清,那么这篇文章就是你需要的。 NGUI 提供了 Grid 和 Table 组件,支持的参数很少,功能也很鸡肋,完全不能像 CSS 的 Box 模型那样随心所欲的布局,而且使用 UIGrid 和 UI转载 2017-02-06 17:07:51 · 579 阅读 · 0 评论 -
NGUI源码剖析——动画(UITweener)
查NGUI动画方面的资料时,发现D.S.Qiu写的一篇UITweener源码剖析的blog,源码面前了无秘密,原文链接。另外,D.S.Qiu写过一系列NGUI源码的blog,值得每个使用NGUI的研读。NGUI所见即所得之UITweener 一直没有用过NGUI动画的功能,之前的理解就是:设置始末两个“位置”,然后就是从起始位置移到结束位置。至于中间是转载 2017-02-06 16:24:13 · 533 阅读 · 0 评论 -
NGUI的事件通知架构和源码剖析--UICamera
NGUI的事件通知架构和源码剖析作者:leoleocsNGUI的事件通知其实是由一个脚本UICamera来实现的,脚本的命名不是太好,其基本的原理很简单,在Update函数中检测用户输入,然后根据自己的策略分发到具体的物体。其定义了一些基本的通知回调函数,你可以查看具体的注释:/// * OnHover (isOver) is sent when the mouse hov转载 2017-03-24 19:26:31 · 694 阅读 · 0 评论 -
UIEventListener是如何工作的及其他
开篇闲谈关于标题里为什么带了个其他。因为UIEventListener的功能实现离不开其他功能的支持,然后这篇博客会通过UIEventListener来讲讲NGUI和Unity里的一些东西,东西比较杂就叫做其他吧 ,本篇使用的NGUI版本是3.7.5,老版的未知,新版的应该原理类似。关于UIEventListener首先UIEventListener是什么,以及是干嘛用的,转载 2017-03-24 15:12:11 · 473 阅读 · 0 评论 -
NGUI所见即所得之UIWidget , UIGeometry & UIDrawCall
NGUI所见即所得之UIWidget , UIGeometry & UIDrawCall UIWidget是所有UI组件的抽象基类,作为基类当然定义了必须的成员变量和函数,接触过MFC或其他UI组件开发,想必都知道有一堆参数设置,尤其是Visual Studio的可视化界面,简直太丰富了,UIWidget要当UI组件的爹就必须得具备这些,下面就一一介绍:转载 2017-02-06 17:41:54 · 600 阅读 · 0 评论 -
NGUI所见即所得之UIAtlasMaker , UIAtlas
NGUI所见即所得之UIAtlasMaker , UIAtlas 本文的重点就是要将NGUI把多张图片打成一个图集(Atlas)的原理和过程研究下,学习下Unity提供的api和NGUI写的功能以及设计思想。 UIAtlas 在介绍UIAtlasMaker之前先看下,先看下UIAtlasMaker的产物——UIAtlas,在创建S转载 2017-02-06 17:41:09 · 598 阅读 · 0 评论 -
NGUI所见即所得之UIFont , UIFontMaker
NGUI所见即所得之UIFont , UIFontMaker 在上一篇博客介绍了UIAtlas的结构和UIAtlasMaker生成Atlas的原理(NGUI所见即所得之UIAtlasMaker , UIAtlas),按照介绍UIAtlas的行为脉络,应该先对UIFont进行介绍,但是发现UIFont这个脚本特别长有点被吓到了,这主要是因为之前都没有怎么用过UIFontMake转载 2017-02-06 17:40:22 · 786 阅读 · 0 评论 -
NGUI所见即所得之UISprite & UILabel
NGUI所见即所得之UISprite & UILabel UISprite UILabel是NGUI最基础的组件,是UIWidget的子类,之前写过NGUI所见即所得之UIWidget , UIGeometry & UIDrawCall UIWidget,UIGeometry & UIDrawCall是NGUI的UI组件绘制的底层实现,UISprite,UILabel就把要绘转载 2017-02-06 17:39:13 · 558 阅读 · 0 评论 -
NGUI所见即所得之UICamera
NGUI所见即所得之UICamera UI,除了界面的显示,还有一个重要的元素:事件响应。MoneBehaviour提供一些事件提供了一些函数接口(OnMouseUp,OnMouseDown等),只要MonBehaviour的子类实现这相应的方法以及方法执行的条件达到,Unity底层就会分发调用执行这个函数。一般地,UI事件响应处理机制会有4个基本元素:转载 2017-02-06 17:38:02 · 640 阅读 · 0 评论 -
NGUI所见即所得之UIRoot
NGUI所见即所得之UIRoot UIRoot是NGUI最根本和最重要的脚本,在实际UI开发过程中都是以UIRoot为根的GameObject树,那他的作用到底是什么,先看下UIRoot的Inspection选项:看到这个,大致可以猜到是跟UI界面缩放有关的,而且是基于高度放缩的。 Scaling Style参数转载 2017-02-06 17:42:31 · 369 阅读 · 0 评论 -
NGUI的事件通知架构和源码剖析
NGUI的事件通知其实是由一个脚本UICamera来实现的,脚本的命名不是太好,其基本的原理很简单,在Update函数中检测用户输入,然后根据自己的策略分发到具体的物体。其定义了一些基本的通知回调函数,你可以查看具体的注释:/// * OnHover (isOver) is sent when the mouse hovers over a collider or moves away.//转载 2017-01-13 12:05:01 · 415 阅读 · 0 评论 -
UIEvents-事件系统
UIEvents-事件系统void OnHover (bool isOver):当鼠标移出或者悬停在某个碰撞器上的时候返回布尔值.在触摸设备上不会有作用.void OnPress (bool isDown):当鼠标或者触摸到碰撞器发生布尔值返回.void OnSelect (bool selected):当鼠标或者触摸从OnPress发生后的释放将会返回这个布尔值.void OnC转载 2017-01-19 10:27:59 · 455 阅读 · 0 评论 -
NGUI之UIRoot屏幕分辨率自适应
NGUI在Unity3D游戏开发中非常常用,而NGUI对于每一个UI场景,都是以一个UIRoot为UI游戏对象树的根的,那么这个UIRoot是起什么作用的呢?先简单看一下UIRoot中的基本属性UIRoot游戏对象的属性只有4个,分别是缩放规则,手动高度,最小高度和最大高度而正是这4个属性,将影响整个UI场景中整体的缩放比例,当设置好这4个属性之后,UIRoot游戏转载 2017-07-19 10:13:35 · 679 阅读 · 0 评论