随笔分类 - NGUI
Unity实用UI插件,http://www.tasharen.com/ngui/docs/
摘要:原理 如果我们的UI中有滑动列表,并且列表比较长,那么不知道你们是否有这样需求,每次页面打开时,列表的滑动状态都恢复到默认状态。 如果要复位,其实就是修改UIPanel 的属性到初始状态。此组件做的工作就是在初始化时把UIPanel的属性保存起来,在需要时还原初始值,达到复位效果。 组件代码 using UnityEngine; using System.Collections.Generic...
阅读全文
摘要:性能优化 排行榜,邮件,关卡等数据列表项,一般在玩家打开面板时,都会重新刷新一次数据,那是否有必要每次都生成列表项呢? 假如每次列表的内容有变动就Instance 新的Gameobject,这是没有必要的浪费。本文想做的就是避免频繁生成新的Gameobject。 运行效果 思路及流程图 循环利用UIGrid下已有child,改变child的数据(不同child渲染不同的数据)。需要生...
阅读全文
摘要:需求 在每次打开界面滑动列表都是复位状态(未滑动)。 分析 在制作滑动列表时常常会结合UIPanel和UIScrollView 要让滑动列表回到未滑动时的位置,那么就需要改变Panel的Clipping和transform的position 演示 以前做法 以前是保存Panel的初始信息,每时打开面
阅读全文
摘要:NGUI长列表优化利器 优化原理 NGUI3.7.x以上版本 有个新组件 UIWrapContent ,当我们的列表内容很多时,可以进行优化。它不是一次生成全部的child,而是只有固定数量的child,在滑动时更新child的内容。 当前NGUI3.6.X也有此组件,不过不完善,比如更新每一条渲染
阅读全文
摘要:UI抽取思路 一款手机游戏中UI有几十个到上百个不等,如果一个一个做这些UI,无疑会花费很多时间。 近期我们的游戏UI已经是第N次改版了,经过这N多次的修改,我总结了UI其实有很多的共性(就是相同性)。 下面说一些我觉得常用的UI的抽取思路 共用按钮 共同点:按钮,标题,[图标],[消息数提醒] 思
阅读全文
摘要:UILabel的颜色代码 NGUI的Label文档:http://www.tasharen.com/?page_id=166 you can embed colors in [RrGgBb] format. For example, red color is [FF0000], green is [
阅读全文
摘要:那些组件有OnChange? 下面这些组件都有OnChange事件,当你点击,下拉选择时,就会触发它们。 NGUI中对应的组件 PopupList (下拉列表) Toggle (复选框) Input (文本框) ProgressBar(进度条) Widget OnChange事件定义 List<Ev
阅读全文
摘要:多次动画导致UISprite丢失 DOTween动画进行时与UISprite有冲突,DOTween多次重复同一个动画时,UISprite会莫名的丢失 UISprite动画代码 冲突表现 DOTween的动画进行时,UISprite会莫名地不见了 UISPrite解决办法 在tweener的updat
阅读全文
摘要:用图片字而不是图片 美术和程序的配合,需要程序能够很快抓住问题重点并提出解决方案.美术出的图片字比我们使用的字体更好好看,那么是否要一个个图片去拼成数字呢? NGUI创建图片字 准备材料 美术提供的数字图片 BMFont 字体制作软件 美术资源处理 1、使用BmFont先导出一张只有数字的图片字,会
阅读全文
摘要:UIWidget NGUI的UIWidget是所有组件的基类,它承担了存储显示内容,颜色调配,显示深度,显示位置,显示大小,显示角度,显示的多边形形状,归属哪个UIPanel。这就是UIWidget所要承担的内容。在UIWidget的所有子类中都具有以上相同的属性和任务。UIWidget和UIPan
阅读全文
摘要:自适应需求 如下图所示:一个Grid下面有六个Button,它们需要在不同的分辨下拉伸适应(Horizontal)宽度,以保证填充满底部 要点分析 首先有这两个要点 1、UIGrid中的Cell Width是根据屏幕比例动态调整的 2、NGUI的UICamera有一个onScreenResize 委托 自适应方法 我的布局 1、首先Grid下有六个子Button,Grid的参数...
阅读全文
摘要:NGUI的事件 在使用NGUI的事件处理时,发现UIButton和UIEventListener之间的共同点越来越多。 当然处理事件,也有一些其它的函数,比如:UIEventTrigger,ButtonMessage 等等,但我用的最多的就是UIButton和UIEventListener 我们知道,只要一个GameObject上添加了Collider(BoxCollider)并且它放在UICam...
阅读全文
摘要:效果预览 视频:http://pan.baidu.com/s/1ntr3XSt 运行环境 Unity 4.5, NGUI3.5, iTween 场景搭建 创建一个UIPanel,UIPanel下再创建一个UISprite,UIPanel选择SoftClip,然后给Panel绑定上PanelController.cs,拷贝4份。结构如下图 MaskManager 给UIRoot绑定PanelCo...
阅读全文
摘要:EaseType(动画曲线) EaseType 缓动函数或者我习惯叫它动画曲线,在很多的软件或动画中都有涉及到,下面是摘取的一些资料: 缓函数图例 Tween效果 每一幅图像当鼠标移上去,会有路径效果,原文:http://easings.net/zh-cn 图文 更有一篇很详细的图文:http://
阅读全文
摘要:代码调用事件 UI搭建 1、首先创建一个Button,和一个的GameObeject命名为GUIClikEvent 2、方法一:创建一个NGUIClickTest.cs,绑定在Button上 Click示例脚本using UnityEngine; using System.Collections; public class NGClickTest : MonoBehaviour { ...
阅读全文
摘要:官方文档:http://www.tasharen.com/forum/index.php?topic=6704.0 Sprite Type 下面是UISprite的Type截图,每一种Type都有不同的用途,在实际的项目中我们根据实际需求选择Type。 每一种Type的解释及适用场景: Simple
阅读全文
摘要:一、常用快捷键 Alt+Shitf+W 创建一个新的 Widget Alt+Shift+S 创建一个新的 Sprite Alt+Shift+L 创建一个新的 Label Alt+Shift+T 创建一个新的 Texture Alt+Shift+C 为当前GameObnect添加 BoxCollider (Is Trigger 默认勾选) 二、 UIRect 在NGUI的3.x版本中,官方不建...
阅读全文
摘要:相关组件 NGUI的本地化操作相关的组件 Localization UILocalize Language Selection 主要部分 在需要本地化的UILabel上绑定UILocalize,填写Key 在本地化文件中,各语言txt文件中的Key一一对应 English.txt Flag = Fl
阅读全文
摘要:NGUI学习笔记汇总,适用于NGUI2.x,NGUI3.x 一.NGUI的直接用法 1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加。(注:用Component添加无效)。 2. Attach an Anchor:表示为该物体添加了UIAnchor脚本,作用是避免像素偏移的问题 3. Attach UIStretch:表示为该物体...
阅读全文