1.NGUI-OPTION选项中的Reset prefab toobar是NGUI事先准备好的预制体
NGUI-LABER:
创建LABEL需要选中脚本的控件,之后选择在右边选择NGUI(不是unity),就可以对创建对象进行操作(如果点进去没有显示内容或者过少,点击下方showall进行刷新)
Overflow:控制字体是否适应文本框大小而进行缩放
(shrink Content 自动缩放,并且自动换行
Clamp Content 剪切超出显示范围以外的
ResetFreely 文本框适应字体
Resetheight 可以调整宽度,高度自动适应)
Grediet 颜色渐变
Effect(NOne-无 shadow-阴影 outline-边框)
2.Sprite-创建精灵
创建之后Atlas为图集
Type:正常 切片(切除边框,需要自己在右侧的edit中的border进行切割,不过顶角不会变,只是中间拉伸-这种方法为九宫切图) 瓦片(平铺填满) 填充(可以用纯色图片做CD效果,fill中可以选择填充百分比,填充效果可以选择横向,纵向,180,360) 有利的
Flip-翻转
3.Panel
Alpha 透明度
Clipping :指定panel的显示范围
(soft clip是自适应,可以自己调节
Constration but dont clip 同样指定范围,但是超出显示范围不进行剪切)
4.Button需要通过Label来创建-之后添加button功能
注意:button需要创建box-colider-以及button-script(这些在NGUI中已经有写好的)
做出响应-在button后的onclick中添加点击事件后做出反应的物体,并且要给method选择触发的方法
如果想让同一个物体下的所有子物件都同时变化,需要添加多个UIButton
5.Atlas图集
NGUI-OPEN-Atlas
点击NEW进行创建一个新的图集,之后选择图片(点击图片就可以,不过要在Unity里面点)就可以自动添加,create创建!(更新只是不用创建而已)
注意~~~:NGUI里面,对于NGUI创建的sprite进行操作的时候,也需要用内置的NGUI脚本进行添加(点击物体,右键选择添加)
6.动态字体
先创建字体集(方法一样),创建的时候选择dynamic动态(前两个为静态)
7.sprite(图片属性)
都在图片的Widget中
Pivot 中心点(图片进行旋转等操作时候的中心点)
Deptth 1为底层,依次上升,大覆盖小
8.Anchors(锚点)
在unfine中的4个属性可以分别控制 该图片距离各个的指定距边框离(控制边距不变)-低级的
Advance-高级的,4个属性可以对应4个不同的物体
。
9.添加动画-添加Tween(NGUI会自动播放)
Alpha-透明度
其中timescale属性控制动画播放时长(需要用脚本控制具体播放时长,一般默认勾选为1)
在进行动画添加的时候,每一个动画都需要重新添加一次
10.添加动画Slider 需要将作为滑动条的图片设置为forebackground(前景色在前)
Setp每次变化的大概百分比数
Thumb 添加一个游标
如果需要显示当前百分比(需要添加一个label之后再onchange里面拖入选择setcurrentpercent就可以
11.添加鼠标点击声音,再addconponent里面搜索play sound即可
12.文字动画效果:再addconponent里面添加typewriter(其中fide in time可以让文字出现浮现的效果,不是alpha那种整体浮现,而是一个字一个字的浮现,并且此属性的值,控制的是浮现的时间延迟)
12.多选框(下拉框)
添加popup list 之后再onchanged 添加对应的按钮(就是点击出下拉框的那个按钮),选择label下面的setcurrentselect
13.toggle(单选框)
需要将单选框选择之后的图标自行设定(属性中的sprite变量,并且默认初始不显示-starting stat)
14.获取当前操作的UI界面的交互数值(UIProgressBar为这些组件的父类,也可以直接调用父类,不过注意父类的返回值是float类型,可能用到强制转换(string),也可能不能转换(bool))
(就是添加的组件名字)UIPopupLisgt.current.value 表示当前操作的多选窗口的数值(注意,获取的值,需要用trim把空格除掉)
14.切换场景(添加动画,可以是位置交替,也可以是透明度的浮现)
添加动画,在脚本中进行控制的语句为forwardPlay(),倒播为reverse()//play()被这两个语句替换了
注意:如果是点击触发的动画,一开始需要设置动画不播放(在动画脚本哪里把对号取消)
15.获取游戏对象
Public gameobject 或者对应的类的创建,之后通过拖入即可赋值
16.添加CD效果(监听需要写在update里面-因为监听没用到NGUI的内置脚本)
看本文的sprtie精灵就可以(注意,要写在updaye函数里面才可以不断的刷新函数,实现CD效果)
17.文本输入框
添加input filed就可以(但是需要让label与文本框(sprite)的边距一直不变(设置锚点auchors就可以))
如果想让文本从左上角开始输入的话,需要将label的中心点设置为左上
属性里面可以设置输入是不是密码(输入是否可见inputtype,validation为格式)
这里面用Int.Parse();来进行类型转换
18.拖拽缩放图片大小(以及拖动图片移动,一般的拖拽脚本需要手动在组件里面添加)
给图片添加drag.object() 实现移动
Drag and drop 拖拽并放下(背包功能等拖拽用)-需要复写该父类,(当实现不同方法的时候参数surface为接触到的物体)
给图片下面的子sprite用NGUI添加drag.setResize可以实现图片的缩放(但是要注意图片需要始终对其父图片)
19.设置scroll滚轮
不实用!!!!
创建两个精灵,父精灵添加scroll脚本,并且将子精灵设置为前景,父精灵设置为后景(子精灵作为滚动条只可以在自己的大小范围内移动,因此需要调节scRoll里面的size让子精灵显示范围变小,同时让子精灵实际的大小与父亲一样高)
20.Textlist
在普通label里面添加textlist组件(不是NGUI),之后需要自己写添加内容以及控制添加的脚本(包括监听事件等)
设置可以滚动显示的文本(一般用于安装,或者加载页面的数据显示,也可以用于聊天框)
实现聊天室功能需要手动添加脚本(提交的时候起作用,并且需要在提交之后,将输入框清空)
Vector3.zero 物体原点(父的原点也是子的原点(就是设定的锚点,默认居中))
交换物体位置,一般通过父类定位,之后子类的位置归于父类的原点(需要中间变量记录另一个变量的父类信息)
21.NGUITools类可以向指定的游戏物体下面添加子物体
22.随机添加物品只要是一个类(只是贴图或者模型不同),就可以使用同一个Prefabs,之后根据名字在图集里面重新赋值即可(名字存在数组中)
23.新版本NGUI
Follow 跟随脚本
Hud动态文字(血量回复),必须放在UIroot下面(每次的文字都是创建的UIlabel,所以必须在UIroot)
Hudtext.add(每次累加数值,颜色,多久消失)//比如触发一次为-10,触发两次就是-20(不实用)