- NGUI -> 选项 -> Reset Perfab Toolbar,显示预制体UI组件,可以直接拖拽到场景中。
- 使用NGUI,必须要有一个UIRoot作为父组件
- 在场景中的UIRoot中右键单击,然后点Create来创建组件。 注意:必须将Panel展开,否则无法进行该操作
- UICamera.isOverUI 当鼠标在NGUI上时,该数值为True,如果取消碰撞器,那么该UI不会被判定。
Another控件 让ui自适应
名称功能type是否启用锚点executeui自适应的更新方式target依照哪一个物体进行ui自适应这样,控件的宽高和位置就会以个物件的各个中心点位置保持绝对距离,从而实现自适应
名称功能left与左边界固定值right与右边界固定值center与中间固定值(保持大小不变)type高级可以依照不同物体进行自适应
// 代码添加监听某个组件值改变
UIXXX.onChange.Add(new EventDelegate(this, "Onchanged")
2. Label组件
文本组件
名称功能overflow设置文字超出限制时是隐藏还是自动缩小alignment文本排列方式keep crisp动态字体锐化gradient设置文本过渡effect字体效果spaceing字体间隔max lines多少行来显示字体max lines多少行来显示字体获取控件文本:GetComponent().text
[ff]:表示该标签之后的文本亮度
图片组件 NGUI -> Open -> Atlas Maker 打开图形处理器。 New 新建纹理集。点击要添加的图片,即可将图片加入当前纹理集。 点击已经添加的图片即可对其进行编辑。(注意打开右下角的Sprite详情方便观察效果)。
名称功能type设置纹理平铺方式。高级 全设置成已平铺,效果等同于原本的平铺效果。Pivot设置中心点Depth深度,决定哪一个在上面Aspect设置纵横比 4. Panel组件面板
名称功能alpha透明度控件clipping使用哪一种图层蒙版图层蒙版
名称功能soft Clip矩形蒙版texture Mask图像蒙版 5. Button组件按钮组件 想要使用button组件,必须先为那个对象添加Box Collider 右键点击想要添加Button的对象,通过Attach -> Box Collider来添加 然后为其添加Button Script,即可实现按钮效果
名称功能Tween Target设按钮动画操纵的对象isEnabled设按钮是否启用 6. Tween组件右键对象Tween以添加动画组件
名称功能From起始数值to结束数值play style播放方式Animation Curve动画曲线Duration动画时间start delay动画延迟Ignore TimeScale忽略时间缩放效果如果禁用该方法,可以取消进入游戏时运行该动画,以便让代码来控制动画
方法描述PlayForward()正向播放PlayReverse()逆向播放 7. Slider组件滑动条组件 想要使用Slider组件,必须先为那个对象添加Box Collider
名称功能Value数值step可以滑动出几种数值Foreground前景图(滑块)Background背景图(可以没有)Direction方向Thumb游标按钮OnValueChange:UIProgressBar.current.value
Slider Colors插件 让滑动条根据当前数值占最大数值百分比的大小而改变自身颜色
8. UIWidget组件NGUI的基础组件。简单来说,就是一个你可以放在屏幕任意位置的矩形框。widget会有一定的面积,但是在运行的时候完全不可见,所以非常适合当做其他组件的容器(让所有的sprite或者label等以它进行各种对齐)。
UIWidget 也被用来当做所有NGUI元素的基类——所有你创建的sprites和labels。UILabel,UISprite,UITexture和UI2DSprite都继承自UIWidget。
增加UIWidget的快捷键是alt+shift+w。
Widgets也有Depth属性,控制他们被点击时的响应顺序。在Scene View中右键widget可以看到depth的排序。右键后会看见一个列表,所有在鼠标位置的widget都会列出来。最上面的就是显示在最前面的,也会最先接收事件。
8. PlaySound组件用于播放声音
触发器描述鼠标单击鼠标单击On Mouse Over鼠标进入On Mouse Out鼠标离开On Press鼠标按下On Release鼠标抬起On Enable可用On Disable禁用 9. Typewriter Effect组件打字机特效组件
参数描述Chars Per Second每秒显示字符数Fade In Time淡入时间Delay On New Line换行等待时间 8. PopupList组件下拉列表组件 想要使用PopupList组件,必须先为那个对象添加Box Collider
名称功能Options选项列表,每一行代表一个可选选项Alignment选项列表文本对齐方式Open on组件的打开复选框按钮Keep->Initial设置初始值Background组件的复选框背景图HighIight复选框选项获取焦点的图Animated复选框选是否使用动画font复选框文本所用字体必须要选择一种font,否则复选框不会被打开 OnValueChange:UIPopupList.current.value
9. Toggle组件复选框组件 想要使用Toggle组件,必须先为那个对象添加Box Collider
组:Group:开关组的设置。默认为0,表示没有开关组。当有多个Toggle的Group相等且不为0的时候,表示它们在同一个开关组中,同一个开关组中的开关只允许打开一个。 Starting State:初始状态是否被选中。
状态:transition: 设置状态切换是否是平滑过渡 invertState:设置在未被选中情况下显示 OnValueChange:UIToggle.current.value
10. Input组件输入框组件 想要使用Input组件,必须先为那个对象添加Box Collider
参数描述starting Value默认文本saved As内容指定保存的键值active Text Color文本框激活的时候显示的颜色inactive Color未激活的时候显示的颜色caret Color闪硕光标的颜色select Color被选择文字的颜色input Type输入内容格式化,可以是密码显示*号validation输入内容限定on Return Key按下回车后的行为character Limit输入字符数量限制OnSubmit、OnChange:UIInput.current.value 输入内容限定的类型:
类型描述Integer数字username字母数字名称字母filename任意字符 11. UIDrag组件拖拽组件 想要使用UIDrag组件,必须先为那个对象添加Box Collider
- UIDragObject 用于某个UI对象的拖拽行为
- UIDragResize 用于拉伸某个UI对象的大小
滚动条组件 想要使用UIScrollBar组件,必须先为那个对象添加Box Collider
名称功能Value数值size块大小alpha透明度step可以滑动出几种数值Foreground前景图(滑块)Background背景图(可以没有)Direction方向Thumb游标按钮OnValueChange:UIScrollBar.current.value
13. UITextList组件文本列表组件 想要使用UITextList组件,必须先为那个对象添加Box Collider Box Collider
名称功能textLabel文本区域textBar滑动条style从上新增还是从下新增paragraph History历史数量限制滚动视图组件 想要使用UIScrollView组件,必须先为那个对象添加Box Collider
- UIScrollView通常挂载在Panel面板上,为了内容水平自适应,子集还需额外安装一个UIGrid插件对象。
- 为视图中的每一个元素添加UIScrollView组件,设置它的滚动视图组件为这个UIScrollView组件。
如果想实现类似血条不可拖动的条,去掉Box Collider即可
UIScrollView
名称功能Content Origin制panel相对Scroll View的位置Movement控制Scroll View滑动的方向Drag Effect拖动的效果(是否采用惯性)Scroll Wheel Factor鼠标滑轮滚动速度Momentum Amount滑动后,自动滑行的距离Restrict Within Panel是否自动在边缘处视口拉回Restrict Within Panel是否自动在边缘处视口拉回Scroll Bars添加滑动条控件 13. UIDragDropItem组件作为组件继承,检测物件的拖动状态,并使其可以拖动
方法功能参数OnDragDropRelease(GameObject surface)鼠标抬起时候触发下方第一个有BoxCoLLider的对象OnDragDropStart()开始拖动-OnDragDropMove(Vector2 delta)拖动中当前鼠标位置和开始拖拽时鼠标位置相对物体的偏移差