NGUI学习笔记汇总
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学习笔记汇总相关推荐
- NGUI 学习笔记实战——制作商城UI界面
Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我们还是先看眼前吧. 一.实现思想 商城的功能是很多游戏都拥有的,按下一个界面按钮,弹出一个窗体 ...
- 软考信息安全工程师学习笔记汇总
软考信息安全工程师学习笔记汇总 https://www.moondream.cn/?p=178 2020年软考信息安全工程师备考学习资料包 1.<信息安全工程师教程>重点标记版 2.& ...
- 【Spring MVC】学习笔记汇总
Spring MVC 学习笔记汇总 Java 系列笔记:[Java系列笔记]语法基础 + Spring + Spring MVC + 数据结构 数据结构与算法笔记(这个牛逼!):<恋上数据结构& ...
- 2023年软考信息安全工程师备考学习笔记汇总
信息安全工程师分属"信息系统"专业,位处中级资格,2016年下半年,第一次开考信息安全工程师(中级)考试.目前每年考试一次.已开考六次,2016年11月12日,2017年5月20日 ...
- 神经网络与深度学习笔记汇总一
神经网络与深度学习笔记汇总一 梯度下降法: 向量化:代替for循环 广播 ReLU激活函数 逻辑回归 损失函数(误差函数) 代价函数 卷积神经网络 往期回顾 梯度下降法: 通过最小化代价函数(成本函数 ...
- 神经网络与深度学习笔记汇总二
神经网络与深度学习笔记汇总二 正交化(方便调整参数) 迭代 单实数评估指标(判断几种手段/方法哪个更好) 指标选取 训练集.开发集.测试集作用与用途 评估指标 判断算法是好是坏 迁移学习 总结 往期回 ...
- 神经网络与深度学习笔记汇总三
神经网络与深度学习笔记汇总三 往期回顾 将之前掘金写的学习笔记所遇困难搬到这里,方便查看复习 遇到问题: 异常值处理 学习内容 1..drop() 返回的是一个新对象,原对象不会被改变. 2.遇到问题 ...
- 神经网络与深度学习笔记汇总五
神经网络与深度学习笔记汇总五 往期回顾 将之前掘金写的学习笔记所遇困难搬到这里,方便查看复习 遇到问题: 报错 (未解决) 学习内容: 1.报错operand should contain 1 col ...
- JVM学习笔记汇总:结合尚硅谷宋红康老师视频教程及PPT
JVM学习笔记汇总:结合尚硅谷宋红康老师视频教程及PPT 第一章:JVM虚拟机的介绍 1.1虚拟机的分类 虚拟机通常分为两类:系统虚拟机和程序虚机.其中,系统虚拟机是指完全对物理计算机的仿真,而程序虚 ...
- 华为HCIA-datacom 学习笔记汇总目录
华为HCIA-datacom 学习笔记汇总目录 华为HCIA-datacom 学习笔记1--网络参考模型 华为HCIA-datacom 学习笔记2--华为VRP系统 华为HCIA-datacom 学习 ...
最新文章
- 为了解决伴随RIP协议的路由环路问题,可以采用水平分割法,这种方法的核心是(22),而反向毒化方法则是(23)。
- 【BZOJ3555】[Ctsc2014]企鹅QQ hash
- 【贪心】Codeforces Round #436 (Div. 2) D. Make a Permutation!
- Spring Boot国际化支持
- [转]notepad++ java编码,输出中文字符时,编译出错
- python重定向_在Python中使用urlopen()防止“隐藏”重定向
- matlab中结束脚本运行_matlab学习总结(入门篇)
- 堆排序不稳定的例子_【译】Python中的堆排序
- 帮管客CRM客户管理系统
- [转] C#中Dispose和Close的区别
- 日期的包装 java,Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类...
- xp计算机位数,XP查看电脑系统版本是32位还是64位的方法
- 无废话aspose-words-18.6 java版破解
- python数字转中文大写_阿拉伯数字转换成大写汉字的Python代码
- m基于FPGA的GPS收发系统开发,包括码同步,载波同步,早迟门跟踪环,其中L1采用QPSK,L2采用BPSK
- 程序员为什么要英文好?
- vue 引入富文本编辑器(巨简单)
- 微信开发笔记——微信网页登录授权,获取用户信息
- ajax回调函数有时成功有时失败,$.ajax数据传输成功却执行失败的回调函数
- surface 部分uwp软件无法联网
热门文章
- view_image.php,ImageView显示图像控件
- 红旗Linux职称考试模块,计算机职称考试红旗Linux Desktop 6.0考试大纲
- pb中的tounicode 函数_历年高考数学的必考热点三角函数,2020高考生,你会了吗?...
- 帆软高级函数应用之文本函数
- python 加速方法_加速Python的几种方法
- 经典神经网络 -- DPN : 设计原理与pytorch实现
- 计算机英语板卡,数据采集卡
- cookie注入原理详解(一)
- mac PHP 环境搭建
- ckdeitor的使用方法