摘要
- UI界面开发离不开各种UI组件的组合以及相互配合,实现需求。而各种各样的UI组件都有它们的共同特点。
- 本文将总结UI组件的基本特点,作为之后总结各基本组件的概述。
- 内容都是基于个人浅薄的开发经验,许多观点和说法必然与专业解释有较大差异。
基本交互方式
- 与UI交互的基本方式一般分为两种,一种是指针信号,另一种是按键信号
- 无论是鼠标、遥感控制的光标,还是VR游戏中的射线,都属于指针信号,它的特点在于交互基于空间
- 无论是键盘按键还是手柄按键,都属于按键信号,它的特点在于交互基于离散状态。
基本交互内容
- 聚焦/选中:即用户通过外设选择该UI,该状态是执行的预状态。
- 失焦/弃选:即用户通过外设放弃该UI,该状态将无法对其进行下一步操作
- 触发:即用户通过外设输入激活信号,将会唤起UI执行对应的事件处理
- 以上是UI交互的基本内容。但不同的UI有不同的实现要求/步骤,以及会有不同的效果。
指针信号
- 这里仅用鼠标控制为例。鼠标操作Unity提供了许多现成方案以及扩展接口。基本上只需要利用这些现成方案,就能直接实现简单需求。配合扩展接口,还能实现tooltips,拖拽等功能。
- 因为指针本身基于2D空间的特点,因此在Unity中只要给对应UI加上射线检测,就能使得指定大小的UI都能接收到指针的指向。
- 一般来说,鼠标操作有进入/离开UI,在UI上点击/按下/释放的操作。而Unity还提供了与拖拽相关的接口,在指针指向UI,按下并移动时调用:开始拖拽/拖拽/结束拖拽。
- 因此,鼠标与UI的各种交互实现会相对比较容易。
按键信号
- Unity同样提供了现成的按键方案来与UI交互。但它在灵活性上要略差一些。
- 如果要自己实现按键操控会更加的麻烦,需要自己定义各种交互的实现。
- 之后在具体总结组件的时候会给出实现的一些tips
|