NGUI学习笔记汇总,适用于NGUI2.x,NGUI3.x

一.NGUI的直接用法

1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加。(注:用Component添加无效)。

2. Attach an Anchor:表示为该物体添加了UIAnchor脚本,作用是避免像素偏移的问题

3. Attach UIStretch:表示为该物体添加了UIStretch脚本,提供缩放功能

4. Make Pixel Perfect:表示自动为你调整Transform的尺寸

5. Create a Panel:表示创建一个面,相当于一个容器,里面的Button,Label,CheckBox控件全部包含在Panel里面

6. Create a Widget:表示创建一个窗口小部件,比如Button,Label,Sprite等

7. Create a New UI:表示创建一个新的UI界面

8. Font Maker:创建字体

9. Atlas Maker:创建图集

二.Component/NGUI /Examples

1.PanWithMouse,表示你赋予的该物体会根据鼠标的变换而移动(漂浮的感觉)

2.LookAtTarget,表示该物体朝向你的目标物体(Target)

3.LoadLevelOnClick,表示点击按钮后加载到另外一个场景,在LevelName写上你所要加载的场景名即可

4.Spin,旋转

5.SpinWithMouse,跟着鼠标旋转

6.TypewriterEffect,作用于标签,打字风格

7.Chat Input,将输入框里面的内容提交到文本框里面去

三.Component/NGUI/Interaction

1.Button

A:UIButton:鼠标放到按钮上,改变目标物体的颜色

B:UIButtonScale:鼠标放到按钮上,目标物体变大或缩小,在Hover下调节x,y,z的比例

C:UIButtonOffset:鼠标放到按钮上,目标物体挪动位置

D:UIButtonSound:鼠标点击按钮,发出声音

E:UIButtonActivate:鼠标点击按钮后,目标物体由禁用状态到启用状态(触发该物体)

F:UIButtonColor:鼠标移动至按钮后,目标物体变颜色

G:UIButtonRotation:鼠标移动至按钮后,目标物体旋转一定的度数,在Hover下调节x,y,z旋转的度数

H:UIButtonTween:鼠标点击了按钮后,目标物体产生变换,必须给目标物体添加Tween组件里面的变换(例:transform变换,position变换,Alpha变换等等),并在开 始enable目标物体的变换,因为此变换是在点击鼠标后才产生,要不然就会在开始运行游戏的时候,它就产生变换了

I:UIButtonPlayAnimation:鼠标点击按钮后,目标动画播放(必须为目标物体添加Animation)

J:UIButton Message:传递消息,写一个公共函数,告诉你所要传递消息的内容,将此脚本放到你的目标物体上,然后写上你所要传递消息的函数名字

2.CheckBox

A:UICheckBox:用于多选框的选择与取消

B:UICheckBoxControlledObject:如果取消这个多选框的选择,那么目标物体以及所有子物体全部被禁用

C:UICheckBoxControlledComponent:若添加此脚本到CheckBox中,如果选择了该多选按钮,那么此脚本的Target将被显示,如果没有选择该多选按钮,那么此脚本的Target将被隐藏

3.Drag

A:UIDragCamera:为某个物体添加该组件,然后为Camera添加UIDraggableCamera组件,表示该摄像机允许被拖拽,然后将此摄像机放到UIDragCamera的目标摄像机下,拖拽该物体,摄像机的位置就会改变

B:UIDraggableCamera:表示该摄像机是允许被拖拽的

C:UIDraggablePanel:表示该面(容器)是允许被拖拽的

D:UIDragObject:拖动该物体,被允许拖拽的物体会被拖拽,在此被允许拖动的物体必须放到目标物体之下

E:UIDragPanelContents:表示该面的所有组件也是允许被拖拽的

4.其他

A:UIForward Events:表示从对象到另一个转发事件(还需要详细了解)

B:UIGrid:表示为该物体添加网格,在该物体下可以包含许多的Item,在Arrangemwnt中可以选择竖直或者水平排列,Cell Width和Cell Height代表每个单元格的宽度和高度

C:UICenterOnChild:常用于拖拽事件中,给Panel添加UIDraggablePanel脚本,然后给你想要拖拽的物体添加UIDragObject或者是UIDragPanelContents,然后给网格根目录添加UICenterOnChild,不管如何拖动容器里面的物体,网格始终保持水平或垂直居中状态

D:UIInputValidator:用于输入框中(Input),给输入框添加此脚本后,在Logic有多种选择,None代表没验证,任何字符都可以输入(汉语除外),Integer表示只能输入整数,不能输入英文以及各种特殊字符,Double表示只能输入浮点数,Alphanumeric表示什么英文和数字和特殊字符都可以输入,Username表示可以输入英文、数字,一些特殊字符(小数点除外),Name表示只能输入英文和特殊字符(小数点除外)

E:UIPanelAlpha:可用于任何控件,添加此脚本给物体,在Alpha中可以调节参数,0表示全透明,0-1表示越来越不透明,1以上的数字表示完全不透明

F:UIPopupList:用于下拉列表框(PopupList),通过NGUI创建PopupList控件时,就添加了此脚本,在Options中可以添加下拉列表框的子项

G:UIScrollBar:用于滚动条,Value表示当前滚动条的位置,Size表示一个滚动条的一个单元大小,Alpha表示滚动条的透明度,Direction可以选择滚动条是垂直状态还是水平状态

H:UISlider:用于滑动框,Value表示此滑动框被填充的比例,Direction表示可以选择滑动框是垂直的还是水平的

I:UISoundVolume:用于Slider控件中……

J:UITable:添加表格,Columns表示此表格的列数,Down表示一列里面的控件从上往下排列,Up表示一列里面的控件从下往上排列,Padding表示各个控件的距离

四.Component/NGUI /Tween

1.Spring Position:表示变换物体的位置,Target是目标位置,物体会从开始的位置,移动到目标位置处

2.Tween Alpha:表示物体的透明度从某一个值到另一个值,From表示开始的值,To表示之后的值

3.Tween Color:表示物体的颜色从某一个值到另一个值,From表示开始的颜色,To表示之后的颜色

4.Tween Position:表示物体的坐标从一个位置到另一个位置,From表示开始的位置,To表示之后的位置

5.Tween Rotation:表示物体从一个角度到另一个角度的变换,From表示开始的角度,To表示之后的角度

6.Tween Scale:表示物体的大小从某一个值到另一个值的变换,From表示开始的大小,To表示之后的大小

7.Tween Transform:表示物体的Transform变换,From表示开始的物体位置,To表示之后的物体位置

五.创建控件NGUI/Create a Widget

A:创建标签:Label

B:创建下拉列表框:Popup List

C:创建进度条:Progress Bar

D:创建滑动条:Slider

E:创建输入框:Input

F:创建滚动条:Scroll Bar

G:创建按钮:Button

H:创建多选框:CheckBox

I:创建精灵

精灵也就是从一张大的图集中获取一个小的图片

Sprite:一般的精灵

Sliced Sprite:带有固定边框的精灵

Tiled Sprite:缩放重复填充整个区域的精灵(例如铁丝网)

Filled Sprite:每个都会有一个单独的参数来控制那些可见的,常用于滚动条和进度条

J:创建输入框:Input

六.NGUI事件系统

NGUI事件函数可以写入NGUI控件脚本,或者带有碰撞器的物体(被带有UICamera组件的相机渲染)的脚本。

常用事件

void OnHover (bool isOver):鼠标悬停或移出时触发。悬停时传入true,移出时传入false。

void OnPress (bool isDown)::鼠标或触摸按下或松开时触发,按下时传入true,松开时传入false。

void OnClick():鼠标或触摸单击(按下并释放)时触发。

void OnDoubleClick () :双击(双击时间间隔小于0.25秒)时触发。

void OnSelect (bool selected):类似单击,区别在于选中一次之后再选中将不再触发OnSelect事件,除非期间选择了其他控件。
void OnDrag (Vector2 delta):鼠标或触摸按下并移动时触发。delta为传入的位移。

void OnInput (string text):只用于输入控件,每次输入完成后触发,text传入本次输入的信息,而非输入控件中的文本信息。
void OnTooltip (bool show):鼠标悬停一段时间或移开时触发,悬停时传入true,移开时传入false。

void OnScroll (float delta):鼠标中键滚动时触发,delta为传入的滚动增量。

七.常用相关变量

UICamera.currentTouchID  UICamera类变量,用于区分鼠标按下的键位,-1为左键,-2为右键,-3为中键

UICamera.lastHit      UICamera类变量,RaycastHit类型。用于获取被触发的物体。

UICamera.lastTouchPosition    UICamera类变量,用于获取鼠标或触摸的位置。

NGUI学习笔记汇总的更多相关文章

  1. NGUI 学习笔记实战之二——商城数据绑定(Ndata)

    上次笔记实现了游戏商城的UI界面,没有实现动态数据绑定,所以是远远不够的.今天采用NData来做一个商城. 如果你之前没看过,可以参考上一篇博客   NGUI 学习笔记实战——制作商城UI界面  ht ...

  2. NGUI 学习笔记实战——制作商城UI界面

    http://www.cnblogs.com/chongxin/p/3876575.html Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我 ...

  3. 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总

    当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2  任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...

  4. NGUI学习笔记(一)UILabel介绍

    来个前言: 作为一个U3D程序员,自然要写一写U3D相关的内容了.想来想去还是从UI开始搞起,可能这也是最直观同时也最重要的部分之一了.U3D自带的UI系统,也许略坑,也没有太多介绍的价值,那么从今天 ...

  5. 前端学习笔记汇总(之merge方法)

    学习笔记 关于Jquery的merge方法 话不多说,先上图 使用jquery时,其智能提示如上,大概意思就是合并first和second两个数组,得到的结果是first+(second去重后的结果) ...

  6. DeepLearning.ai学习笔记汇总

    第一章 神经网络与深度学习(Neural Network & Deeplearning) DeepLearning.ai学习笔记(一)神经网络和深度学习--Week3浅层神经网络 DeepLe ...

  7. shell学习笔记汇总

    1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...

  8. Mybatis学习笔记汇总(包括源码和jar包)

    博客整理 Mybatis学习笔记(一)--对原生jdbc中问题的总结 Mybatis学习笔记(二)--Mybatis框架 Mybatis学习笔记(三)--入门程序 MyBatis学习笔记(四)--入门 ...

  9. NGUI学习笔记(五):缓动

    在Unity3D中可以使用自带的Animation制作任意形式的动画,不过我们这篇笔记主要是学习和使用NGUI提供的Tween动画.NGUI提供的Tween库功能较为简单,主要是用来实现NGUI自身需 ...

随机推荐

  1. Android笔记——Android中数据的存储方式(三)

    Android系统集成了一个轻量级的数据库:SQLite,所以Android对数据库的支持很好,每个应用都可以方便的使用它.SQLite作为一个嵌入式的数据库引擎,专门适用于资源有限的设备上适量数据存 ...

  2. [Tool] 使用Astah绘制UML图形

    [Tool] 使用Astah绘制UML图形 前言 在软件开发的过程中,开发人员可以绘制UML图形来将分析设计内容转化为图形化文件,方便在团队之间传递分析设计结果.但在团队经费有限的情景中,可能没办法为 ...

  3. 解决客户 IE 浏览器"兼容性视图"设置带来的问题

    最近在给客户开发一个 ASP.NET web 报表时,发现客户的 IE8 浏览器上,看网页总是怪怪的. 调查后发现,客户的 IE8 浏览器,统一被设置成"对本地网络使用兼容性视图" ...

  4. 关于C#中Environment.OSVersion判断操作系统及Win10上的问题

    我们都知道在C#中可以通过Environment.OSVersion来判断当前操作系统,下面是操作系统和主次版本的对应关系: 操作系统 主版本.次版本 Windows 10 10.0* Windows ...

  5. UDF2

    问题 根据给定的gps点point(x,y)和北京的shape数据,关联出 AOI ID IO 输入 gps点表 create table gps ( x double, //经度 y double ...

  6. Spring(三)Bean继续入门

    一.Aware相关接口 对于应用程序来说,应该尽量减少对Sping Api的耦合程度,然而有些时候为了运用Spring所提供的一些功能,有必要让Bean了解Spring容器对其进行管理的细节信息,如让 ...

  7. IOS开发--常用的基本GDB命令

    gdb不是万能的,可是没有gdb却是万万不能的.这里给大家简单介绍下iOS开发中最基本的gdb命令. po po是print-object的简写,可用来打印所有NSObject对象.使用举例如下: ( ...

  8. iOS中 @synthesize 和 @dynamic 区别

    OC object-c 为了让java的开发者习惯 使用.的操作,所以可以将接口类中的变量 使用@property来声明属性.但是在.h中声明的属性,必须在.m中使用@synthesize或者@dyn ...

  9. Effective Java 73 Avoid thread groups

    Thread groups were originally envisioned as a mechanism for isolating applets for security purposes. ...

  10. SQL 注入防御方法总结

    SQL 注入是一类危害极大的攻击形式.虽然危害很大,但是防御却远远没有XSS那么困难. SQL 注入可以参见:https://en.wikipedia.org/wiki/SQL_injection S ...