《Unity 3D NGUI 实战教程》一2.2 认识基本的UI资源
本节书摘来异步社区《Unity 3D NGUI 实战教程》一书中的第2章,第2.2节,作者: 高雪峰 责编: 张涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.2 认识基本的UI资源Unity 3D NGUI 实战教程
2.2.1 什么是UI精灵(Sprite)我们在制作UI时,经常将一些零碎的小的UI资源(比如,一个小箭头、一个按钮等)打包成一张大图,然后在使用时,只使用这个大图中的一部分(例如,只使用其中小箭头的那一小块),那么这一块“被切出来”的图片,就可以称之为精灵。
如图2.11所示的就是一个又一个的UISprite。
我们在制作UI时,会将一些零碎的小的UI资源打包到一张大图中,然后再通过精灵的方式对这张大图进行使用,这张大图就是一个图集。这样不但可以减小美术资源的总体积,还可以减少载入内存的操作(图集作为一张整图会被一次性载入到内存中)并提高渲染性能,而且还可以减少维护大量零碎小资源的麻烦。
如图2.12所示的则是一个由Sprite组成的图集。
2.2.3 什么是UI贴图(Texture)在NGUI中也有UITexture的概念,这个UITexture从功能用途上和Sprite精灵有很大的相似之处,都是为了显示一些图片资源。它和Sprite最大的区别在于,UITexture是一张独立的图,不依托于任何的图集,这张Texture有自己的材质球和Shader,每一个UITexture都将消耗一个DrawCall(不了解的读者可以理解为一个性能消耗单位)去渲染,每一个UITexture都将独立进行加载。
如图2.13中的大背景图就是UITexture。
标签(Label)在NGUI中并不是指一种标记物,而是指一种纯文本的UI元素。凡是由程序在UI上打出来的字,都属于标签的内容。例如,如果你需要在界面上长期地显示一行字:请打开背包进行整理,那么这行字属于一个Label。再比如,如果你需要显示角色的生命值为100/200,这个数字会随着角色的生命值而变化,这个生命值的数字也属于一个标签,然后代码会根据角色的血量去读取并改变这个标签的内容。
如图2.14所示框中所有的文字信息都属于Label。
在制作UI的过程中,不可能所有地方都由美术完成,最典型的例子就是UI上面的文字。很多时候UI上面的文字都是不停地在进行变化,并且没有什么复杂的艺术字效果,不可能全部由美术制作成图片提供给程序,这个时候就需要程序在UI上进行写字。程序在UI上写字时,就将用到UI字体。
NGUI的字体分为动态字体和静态字体。程序人员可以选择把某种特殊字体文件中的一些所需的字拿出来形成一张图,然后打字时会从这张图里去调用文字(类似于调用Sprite),这就是静态字体。也可以直接导入字体文件(例如,宋体、楷体等字体文件),打字时只要字体文件里拥有的字都能正常使用,这就是动态字体。当然,NGUI有系统自带的默认动态字体。
如图2.15所示则为静态字体图集,图2.16所示则为动态字体文件(.ttf格式)。
实战 | UI 自动化测试框架设计与 PageObject 改造 ![](https://ceshiren.com/uploads/default/original/3X/e/f/efd4f6ab53cc4a449657509b655cf5e6499878e5.jpeg) 在 UI 自动化测试过程中,面对复杂的业务场景,经常会遇到这样的挑战: - 简单的录制/回放速度快,但无法适应复杂场景; - 编写自动化测试脚本比较灵活,但工作量大且可维护性差; - 以往的
【Flink实战系列】Blink的UI焕然一新,我觉得还行 今天带大家看一下Blink的UI的一些新功能,编译的过程这里就不说了,网上也有很多的教程,我们直接启动一个Blink的standalone的集群,然后进入他的UI页面,我先放几张截图,大家随意感受一下 首先给人的第一感觉就是界面做的很炫酷,比Flink的UI要丰富很多,不像Flink的UI那样简单,界面也很阿里风格,多了很多新的功能,然后我们直接提交一个job上去,选择正在运行的job,如下图所示
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- DirectX 3D 之C#开发
- Unity 3D 粒子系统的一点经验
- 数学建模番外篇1:PPT绘制3D图形
- matlab 生成空间3D椭圆点云
- Android 从零开始打造一个 3D立体旋转容器
- DL之CNN:模型可解释性之卷积神经网络算法的卷积原理可视化——CNN网络的3D可视化(LeNet-5为例可视化)
- 《3D Math Primer for Graphics and Game Development》读书笔记2
- SP2010 3D标签云Web部分--很酷的效果,强烈推荐!!
- 3D游戏引擎设计与实现(4)
- 3D游戏引擎设计与实现(11)
- 3D游戏从入门到精通-4
- 3D点云重建0-01:MVSNet(R-MVSNet)-资源下载(前奏准备篇)
- 【三】3D匹配Matching之可变形曲面匹配Deformable Surface—refine_deformable_surface_model()算子
- 【三】3D匹配Matching之可变形曲面匹配Deformable Surface—Based——add_deformable_surface_model_reference_point()算子
- 【三】3D匹配Matching之外形匹配Shape—Based——find_shape_model_3d()算子
- PCL RANSAC拟合空间3D椭圆
- [闪存2.1.4] 3D(三维)NAND图文详解_2D NAND 和 3D NAND 横向对比_VNAND 技术详解