Event组件
- EventSystem 事件管理器
- StandaloneInputModule 标准接收器
- TouchInputModule 触屏接收器
- EventTrigger 事件触发器
- GraphicRaycaster 界面组件的射线检测
- Physic/2DRaycaster 场景物体的射线检测
EventTrigger
- 必须为 Public
- 只能输入一个参数
- 参数只能是: int, float, string 和 Object类型
- 函数返回 void
拖拽事件
EventInterface
- Pointer 指针类
- IPointerEnterHandler 区域进入
- IPointerExitHandler 区域移出
- IPointerDownHandler 鼠标点下(附加判定鼠标的按键判定)
- IPointerUpHandler 鼠标抬起(可以移出到物体外响应)
- IPointerClickHandler 鼠标点击
- Drag/Drop 拖拽类
- IBeginDragHandler 超出Drag Treshold阀值范围开始移动时调用
- IInitializePotentialDragHandler 按下, 同pointerdown
- IDragHandler 拖动中(持续调用)
- IEndDragHandler 结束拖拽
- IDropHandler 脚本放在接收物体代码里, 可以得到拖拽中物体对象
#region IDropHandler implementation
public void OnDrop(PointerEventData eventData){
Debug.Log("onDrop:"+ gameObject.name+" to:"+eventData.pointerDrag.name);
}
#endregion
- Select 选择类
- IUpdateSelectedHandler
- ISelectHandler
- IDeselectHandler
- Input 输入类
- IScrollHandler 鼠标滚轮
- IMoveHandler InputManager.GetAxisRaw
- ISubmitHandler InputManager.GetButton
- ICancelHandler InputManager.GetButton
UI组件类型
- Unselectable 不可选, 显示内容
- Image 图片
- Simple 原始图片
- Preserve Aspect 等比缩放
- Set Native Size 以本身图片大小显示
- Sliced 切个图片, 9宫格
- Sprite Editor 中切割
- Fill Center 是否取消9宫格中间图片
- Tiled 重复平铺
- 如果是9宫格, 则重复边框替代边框拉伸
- Filled 填充模式
- Fill Method 显示区域的方式: 360度, 180度, 90度, 纵向, 横向
- Fill Origin 方向控制
- Fill Amount 圆盘显示百分比
- Clockwise 顺时针/逆时针
- Image Raw 贴图纹理
- 加载网络图片
- 播放视频/动态图
- Render Texture
- 创建render texture
- camera加载
- image raw调用
- Movie Texture
- 需要quicktime软件
- 如果加载需要声音, 需要视频和声音一起加载
- Text 文本
- Mask 遮罩体
- Scroll Rect 滚区
- UI Effects 效果展示
- Selectable 可选
- Button 按钮
- Slider 滑动条
- ScrollBar 滚动条
- Toggle 开关
- InputField 可输入文本框
AutoLayout
- Layout Controllers 父物体可控
- Horizontal Layout Group
- Vertical Layout Group
- Grid Layout Group
- Content Size Filter
- Aspect Ratio Filter
- Layout Elements 子物体覆写
- Layout Elements Compent
Layout Element
- Min Width/Height 最小允许大小
- Preferred Width/Height 预设大小, 不会过大, 也可以随父物体缩放
- Flexible Width/Height 默认1, 组件之间的显示大小比例, 相对之间
动态添加/移除组件
添加
//void create();
GameObject obj Instantiate(gameObject);
obj.transform.SetParent(parentTransform);
//从资源库Resources文件夹下加载
btn = (GameObject)Resources.Load<GameObject>("Button 1");
移除
using UnityEngine.UI
...
//void delete()
gameObject.GetComponent<LayoutElement>().ignoreLayout = true;
Destroy(gameObject);
富文本
- < b >粗体< /b >
- < i >斜体< /i >
- < size = 12 >大小< /size >
- < color=green >颜色1< /color >
- < color=#00ff00ff >颜色2< /color >
unity支持Otf, Ttf两种格式字体
Mask
- 可以使用有alpha通道的图片
- Show Mask Graphic 显示遮罩图片当拖拽超出范围后
Scroll Rect
- Horizontal 是否水平移动
- Vertical 是否竖直移动
- Movement Type
- Unrestricted 超出边界也不限制, 可以无限拖动
- Elastic 弹性边界, 会拖拽出去一点点并回来
- Clamped 不能超出边界
- Elasticity Elastic模式下, 回弹速度
- Inertia 拖拽后惯性阻尼
- Scroll Sensitivity 滑动敏感度
- Horizontal Scrollbar 横向滚动条
- Vertical Scrollbar 纵向滚动条
模型
官方asset store