一、核心属性
1.UI Canvas 画布
代码语言:javascript复制using UnityEngine;
using SK.Framework;
public class Example : MonoBehaviour
{
private void Start()
{
Canvas uiCanvas = UI.Canvas;
}
}
2.UI Resolution 分辨率
代码语言:javascript复制using UnityEngine;
using SK.Framework;
public class Example : MonoBehaviour
{
private void Start()
{
Vector2 uiResolution = UI.Resolution;
}
}
3.UI Camera 相机
代码语言:javascript复制using UnityEngine;
using SK.Framework;
public class Example : MonoBehaviour
{
private void Start()
{
Camera uiCamera = UI.Camera;
}
}
代码语言:javascript复制二、UIView 视图
1.ViewLevel 视图层级
视图默认被分为以上层级,也可以通过更改该枚举实现自定义层级结构,当UI模块初始化时,系统会根据该枚举中包含的字段自动创建视图层级:
2.创建视图
以一个首页视图为例,创建脚本HomeView,继承UIView视图基类:
代码语言:javascript复制using SK.Framework;
public class HomeView : UIView {}
将脚本挂载到视图预制体上,并将预制体放到Resources文件夹内:
3.Load 加载视图
代码语言:javascript复制using UnityEngine;
using SK.Framework;
public class Example : MonoBehaviour
{
private void Start()
{
HomeView homeView = UIView.Load<HomeView>();
}
}
Load函数不传入任何参数表示根据视图的类型名称作为资源路径进行加载,并且将其视图层级默认设置为ViewLevel.COMMON。重载函数如下:
4.Show 显示视图
代码语言:javascript复制using UnityEngine;
using SK.Framework;
public class Example : MonoBehaviour
{
private void Start()
{
UIView.Show<HomeView>();
}
}
代码语言:javascript复制同样的,不传入视图名称则表示根据视图类型的名称进行显示:
5.Hide 隐藏视图
代码语言:javascript复制using UnityEngine;
using SK.Framework;
public class Example : MonoBehaviour
{
private void Start()
{
UIView.Hide<HomeView>();
}
}
6.Unload 卸载视图
代码语言:javascript复制using UnityEngine;
using SK.Framework;
public class Example : MonoBehaviour
{
private void Start()
{
UIView.Unload<HomeView>();
}
}
使用UnloadAll函数可以卸载所有已加载的视图
代码语言:javascript复制 UIView.UnloadAll();
代码语言:javascript复制三、AnimationEvent 动画事件
动画事件分为OnVisible和OnInvisible,当视图加载和显示时,使用OnVisible动画事件,当视图隐藏和卸载时,使用OnInvisible动画事件:
动画事件分为动画的播放、UnityEvent事件的执行和声音的播放
1.Animation 视图动画
视图动画分为两种,一种是Tween类型动画,依赖DoTween插件。
另一种是Animator类型动画,只需要记录动画状态State的名称。
Tween类型动画中,Main表示该视图的整体动画,也可以为该视图下的UI元素添加动画,通过拖拽UI元素到“Drop Animation Element Here”区域实现添加:
四个开关分别表示移动动画、旋转动画、缩放动画、透明度动画的开关:
Tween动画的核心参数:
Duration 动画时长
Delay 延时时长
From 初始值
To 目标值
2.UnityEvent 事件
OnBegan表示动画开始时要执行的Unity Event事件,OnEnd表示动画结束时要执行的Unity Event事件:
3.Sound 声音
BeginSound表示动画开始时要播放的声音,EndSound表示动画结束时要播放的声音。From表示声音的来源,分为两种类型:1.AudioClip 直接来源于AudioClip资产;2.Database 表示声音来源于音频库,需要选择音频库的名称和音频数据。