- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
·PAGE 40·
Unity UI设计
·PAGE 39·
第1章 回顾与展望
第1章 回顾与展望
最新的Unity UI系统经过开发人员多年研发方得以面世(开发过程受到了预算紧缩的考验),其中包含了诸多最新特性并以免费方式提供给广大用户。
在讨论新系统之前,需要对遗留GUI系统(即旧系统,具有向后兼容之特性)予以回顾,进而在此基础上理解新系统的功能和应用,而传统教程还停留在遗留GUI阶段。
在读者理解了遗留系统后,本书将对新系统加以重点分析,这也是后续内容的主要工作。
本章主要涉及以下内容:
Unity遗留GUI系统的回顾。
与遗留GUI系统相关的建议、技巧和讲解。
新系统特性概览。
购买 Packt 出版社书籍的读者可通过个人账号在处下载代码文件。另外,读者还可访问/support,经注册后可通过邮件方式直接获得相关文件。除此之外,作者还提供了支持论坛,读者可直接向作者进行提问;另外,论坛中还包含了相关的注意事项,对应网址为http://bit.ly/Unity3DUIEssentialsForums。
1.1 发 展 状 况
Unity的遗留GUI系统历经多年发展添加了诸多新特性,并对性能问题有所改善。考虑到在原始实现基础上得以完成,因而系统包含了某些限制条件,且需要向后兼容(类似于Windows操作系统,时至今日,该系统仍然需要服务于采用BASIC语言编写的程序。关于BASIC语言,读者可访问/wiki/BASIC)。这里并非认为遗留系统一无是处,与Unity 4.x和Unity 5.x相比,该系统在新特性方面有所欠缺。在新系统中,采用了更为高级的设计方案以及全新的核心内容。
遗留系统中的主要缺陷在于,该系统仅在3D元素之上的屏幕空间内进行绘制(而非其“内部”)。对于菜单或标题中的覆盖图,这并无太大问题;而在3D场景中,其整合方式将变得较为困难。
关于世界空间和屏幕空间的更多内容,读者可参考Unity Answers,对应网址为/questions/256817/about-world-space-and-local-space.html。
因此,在讲述新系统的优点之前,首先需要考查该系统的根源(如果读者对遗留系统较为熟悉,则可忽略本节内容)。
本书将遗留GUI简称为GUI。相应地,当讨论新系统时,该系统则称作UI或Unity UI。用户在阅读时不可将其混为一谈。
另外,读者在Web或论坛中可能还会遇到uGUI这一类术语,该术语表示Unity UI新系统的研发代码。
GUI控件相关介绍如下。
遗留系统空间针对标题应用提供了基本的风格化控制。
遗留系统中的全部控件均采用内建的OnGUI方法,并在GUI渲染阶段进行绘制。在相关示例中,全部控件实例位于Assets\BasicGUI.cs脚本中。
针对功能性GUI空间,场景中的相机须于其上绑定GUILayer组件。默认条件下,该组件位于场景中的Camera对象上,且多数情况下用户不会对其有所察觉。若将其移除,则GUI工作时需要再次将其加入。针对OnGUI委托处理程序,该组件可视为钩子程序,以确保其在每帧内被调用。
类似于脚本中的Update方法,如果渲染操作降低了运行速度,OnGUI方法将在每帧内多次被调用。当构建自己的遗留GUI脚本时,用户应对此引起足够的重视。
原GUI中的控件包含以下内容:
标签
纹理
按钮
文本框(包括单行文本框、多行文本框及密码文本框等)
列表框
工具栏
滑块
滚动条
窗口
下面将对此进行逐一考查。
对于GUI脚本中的示例项目,全部代码均位于下载代码中的Assets\Scripts文件夹中。当读者对此进行尝试时,须创建新项目、场景以及脚本,针对脚本中的各个控件设置代码,最后还需将该脚本绑定至相机对象上(将其从项目视图拖曳至场景层次结构中的Main Camera GameObject中)。随后,可运行该项目,或者利用[ExecuteInEditMode]属性修饰当前类,进而在游戏视图中对其进行查看。
1. Label控件
大多数GUI系统中均会首先介绍Label控件,这一类控件提供了风格化的控制效果,并在屏幕上显示只读文本。脚本中一般会包含下列方法:
void OnGUI() {
GUI.Label(new Rect(25, 15, 100, 30), Label);
}
这将生成如图1-1所示的屏幕显示效果。
图1-1
Label控件可通过guiText GameObject属性(guiText.font)或GUIStyle(稍后将对此加以讨论)调整字体设置。
当设置脚本中的guiText.font时,可在脚本中使用下列代码,对应位置可位于Awake/Start函数中,或者绘制下一个文本段(采用另一种字体)之前。
public Fon
您可能关注的文档
最近下载
- 2025年北京市中考道法真题卷含答案解析 .pdf
- F-DZW智能型电动执行机构说明书.pdf
- 江苏省南京市2026届高三上学期9月学情调研试题 地理试卷含答案.docx VIP
- 信息技术-脑机接口行业深度报告:脑机接口,未来正在到来.docx VIP
- 成立婚介公司商业可行性研究报告.docx VIP
- 最新重庆中考英语答题卡模板.docx VIP
- 2025至2030中国婚介网站行业发展趋势与产业运行态势及投资规划深度研究报告.docx VIP
- 重庆中考英语答题卡模板.docx VIP
- 战舰与海战(中国人民解放军海军指挥学院)网课期末考试答案.pdf
- 浙教版九年级上册科学 第1章 物质及其变化 单元测试卷(含解析).pdf VIP
文档评论(0)