创建NGUI后,挂载在UI Root 和其 子Camera的脚本
分辨率自适应模式的基础
Minimun Height 和 Maximum Height
用于拖动窗口时,如果窗口变得很小了,UI不缩放的话,会挡住游戏,使用Flexible模式用于解决该问题,会在小于或着大于这两个值的时候,进行等比缩放
Shrink Portrait UI 竖屏时按宽度来适配
Adjust by DPI 勾选就是
Content Width 和 Content Height 是自适应屏幕时默认的分辨率
不勾选Fit 时 会裁剪,不会有黑边,始终会有UI填充屏幕
勾选Height 画布总是跟着屏幕高度缩放 (横屏游戏
勾选Width 画布总是跟着屏幕宽度缩放 (竖屏游戏
Depth 控制层级,层级越高的遮挡层级低的。要注意不同Panel最好不要在一个层级
Clipping 通过参数裁剪
UI模式是根据组件深度处理事件
World模式 根据距离著摄像机的远近来响应排序(这两个的主要区别在 眼睛看到在前面的,进行交互时UI模式点击看起来在被前面的窗口压在后面的,但被压在的那一层层级更高,会先相应被压在下面的UI)
EventMask 决定哪个层级接受事件
Debug就是测试时,你点击这个UI,会打印出来交互的时什么对象
点击New 新建
选择 加入图集的文件
创建图集,一般存放在Resources文件夹内,方便读取
有三个文件
1.图集文件
2.图集材质
3.图集图片
Atlas 选择图集
Sprite选择图集中的图片
Fiexed Aspect保持宽高比
sliced模式
点击Edit
拉伸Border,会根据九宫格进行拉伸。保证四个角不变化,只会拉伸中间的十字区域
Tiled 平铺模式
图片会重复绘制
NGUI - create - Lable
Transition 过渡时间 从某一个颜色编导另外一个颜色所需要的时间
Sprite 可以设置各个状态时的效果
把Panel(挂载脚本的组件)拖入到button 的on click中
然后在Method选择 需要使用的函数
点击后
如果方法是私有,会找不到
同时可以添加多个监听函数
使用代码获得按钮对象监听
Starting state 一开始的选中状态
Invert State 反转状态
Group 多选框分组
如果只能选择一个
可以设置为同一个Group
State of None是这个Group必须要选中一个
创建一个Panel用于挂载脚本
然后再Toggle上拖入函数
如何知道哪一个Toggle选中,可以在Panel的脚本中设声明三个Sprite变量关联
Panel装载脚本,关联Input的Sprite
input脚本里关联Panel的函数
测试的时候把回车改成提交
选项 空一行一个组件
如果设置了之后没有反应,首先设置一下字体
和之前一样的套路Panel挂载脚本,popupList关联事件
新加选项
NGUI的Slider是添加到背景的这个Sprite上
但是碰撞器 添加到 背景的Sprite上,用户按和拖动滑块都能进行移动,如果碰撞器 添加到 滑块的Sprite 上,用户只能通过拖动滑块进行移动
改变可视范围
MoveMent 水平移动或者竖直移动
设置只能水平或者垂直 或者自由(左右都行
拖动
Drag Effect 类似于惯性 和 弹性 的效果
ScrollWheel Factor 滚动因子 滚动速度和方向
Momentum Amount动量 设置惯性大小
Sppring Strength 弹力大小
Dampen Strength 阻尼强度
Cancel Drag if fits 如果 内容没有超过 可视范围,决定此时能不能拖动
NGUI提供了一些自带的函数,在挂载脚本时,NGUI会自动寻找这些方法。
创建一个只有碰撞器的Sprite
拖入这个脚本
按下时
其他函数同理
首先挂载两个Sprite对象
为Sprite添加EventListenner 以及为委托添加函数
同一个图集 如果在这两个同图集的图 中间的层级加入了其他图集,也会产生DrawCall,打断了合并渲染
要效率 还是要内存 可以自己决定
降低DrawCall
把文字导成图集
图集中多了
可以在Lebel中选择该图集
然后选择MyFont
优点在于减少DrawCall缺点在于不能动态改变文字
在外部 可以 自定义美术字体
通过字体编号
这里48 是 0,然后替换这个字体
TweenGroup用于多个动画分组
Ignore TimeScale 用于在游戏暂停时依然播放特效
添加Play Tween参数
勾选 start State时value默认为0,意思是一开始的时候不会自动播放特效
PlayTween 和Tweener上的Group如果不相同,则不会管理这个Tweener
Trigger 触发的方式
记得加触发器
添加两个PlayTween
一各按压时管理缩放小,一个松开时管理放大
把两个PlayTween改为taggle
添加KeyBinding脚本
如果要打到tab切换,要所有的Sprite都添加这个脚本
然后记得添加碰撞器