UI界面是每个游戏都会有且量特别大的内容,这边就简单说明下UI界面测试的通用的基础内容
常用手游开发引擎
介绍UI界面测试之前,先简单说下手游常用的引擎
1、unity 3d
- 全平台兼容,用户量大,入门简单
- 特定效果需自己开发,开发成本高
2、虚幻4
- 教程丰富,画面优秀
- 盈利后的分成比例高
3、cocos2d
- 2D游戏表现较好,免费开源
UI基础介绍
接下来的UI基础以unity引擎为参照
1、canvas 画布
画布是所有ui元素存在的基础,可以理解为作画的画纸。其他元素都是画布的子元素
2、常见元素
- Button
有多种状态:正常、按下、禁用、鼠标悬浮
游戏内最常见的交互元素
- image
界面、其他元素上的装饰美化
- slider
滑动调节器,从最小到最大,如用于音量调节
- scroll rect
一个可以左右上下滑动的区域
- scroll bar
滚动条,常和滚动区域组合使用
- mask
可在其他元素之上创建一个指定形状的遮罩
实际应用时还需要将上面几个元素叠加使用,会得到想要的效果,
3、摄像机
在3d的游戏世界里,是如何显示平面的界面信息的?这里就需要提到另外一种存在:摄像机。
游戏内的摄像机有两个:场景摄像机和UI摄像机。两个摄像机渲染和展示的内容互相独立。
而我们看到的UI界面,其实就是UI摄像头所看到的画面,包括内容、角度
4、UI元素的层级
平常用到的ui元素很多,前面也提到了在游戏中,UI界面不是只有单一元素而是由许多元素组合而成的。为了最终能达到预期的显示效果,这里就需要设置不同ui元素的层级,按照指定的方式层叠显示。层级不对就会出现很明显的显示效果错误
5、元素交互
界面搭建完毕,界面里的元素需要能和玩家互动,场景和界面内有多个元素,又如何按照期望产生反应?这依赖于引擎的event system
可以理解为每个ui元素身上都带了一个检测器,当玩家开始点击或者输入的时候,event system 检测到了这个输入,并且按照不同元素的层级由高到低逐层处理传递这个事件
UI面板测试
前面讲了这么多都是UI的实现基础,那当我们拿到一个UI界面时,要这么去测试?
1、UI基础
- UI元素内容显示完全,对应元素使用、状态正确
- 元素层级显示正确
- 界面点击无穿透
2、UI面板操作
UI面板一般由其他入口打开,需要可以关闭或者返回上层
3、界面堆栈处理
界面的堆栈主要用于管理界面的打开、跳转、界面资源信息存储
比如一个界面,可能是从界面A→界面B→界面C打开的,堆栈内存储了ABC的信息,如果从C返回就会回到界面B,同时栈内的界面C出栈
发生断线重连后,查看当前界面的关闭or返回操作,看是否会因为断线导致堆栈信息被清空从而界面返回跳转出错
4、多屏幕适配
屏幕适配其实也是兼容性的一部分,适配需要考虑的是两点:分辨率、屏幕形状。
市面上的移动设备的比例从4:3到13:6,有时会因为显示比例未适配出现文字显示缺失、遮罩覆盖不全的问题
而因为对于全面屏幕的追求,近年来屏幕不断变大,形状不再是传统的长方形,异性屏幕也出现了按钮被遮挡无法使用的问题。
常见的测试比例和分辨率和选择可以如下图选择。除异形屏都可以用unity或者模拟器来模拟,异形屏幕需要使用真机测试