Unity3d 之 内置图形界面系统UnityGUI

一、说在前面的:
1、unity内置的ui系统,无论是在性能的表现上、功能的强大性上、制作复杂ui的便捷性上,还是其它的一些方面都不如一些第三方的插件来的好,如:NGUI和DF-GUI(PS: 后者比前者要好很哦,推荐!))。
2、虽然UnityGUI不如某些第三方的插件,但是它在做一些简单的测试上,做数据高度上还是要方便一些的;而且如果你要做Inspector的定制与Unity插件开发的话,UnityGUI你是绕不过去的哦。所有大概熟悉一下UnityGUI还是必要的!
3、关于UnityGUI的所有知识,在官方文档中的都有详细的介绍,在圣典上也有一一翻译。我这里只是做一些简单的记录,也许有不对的地方,也许以后还会所补充!
4、还有就刚接触这块时觉得UnityGUI相关API有点乱,觉得来必要记录一下。

二、GuiLayer组件:
GuiLayer是显示UnityGUI元素的必要组件,且必须附在一个相机对象上!不然你的UI是显示不出来的。

三、古老的组件:
1、这部分主要是GuiTextGuiTexture组件,GuiElement是它们的基类,详参相应的链接。
2、GuiText以用来打印显示一些调试信息和简单的数据显示。
3、GuiTexture也在用来做一些简单ui部件或整个游戏画面的背景。

四、UnityGUI系统的分类:

这部分就比较复杂一些了。
1、首先它可以分成两个独立的部分:非Editor类与Editor类。其中每部分中可以分成两个独立的部分:GUI系和GUILayout系。其中的GUI系下的组件的名字基本上只用“GUI”开头,而GUILayout系下的组件的名字基本上是“GUILayout”开头的。这样就有四个相对独立的UI系统了,这四个部分,每个拿出来都能相对完整个完成一个UI制做。
2、不同的是Editor类是用于编译器的制定与扩展方面,GUILayout系要比GUI系在功能上要强一点而以。呵呵,是不是有点绕,有点乱,有点晕。非Editor类与Editor类共存还点说的过去,GUILayout系要比GUI系共存就有点那个了。
3、本来一个不复杂的UI系统,搞这好几套,还混合着用,就变得有点头疼不。出现这种情况可能是为了向上兼容吧,不过代价有点大啊。
4、不过只要我们理清楚它们的别,尽量只用一种,应该还好吧!下面我将会重点记录GUILayout系的UI,

五、GUILayout系下的组成:

1、样式的组件:
GUISkinGUIStyleGUISetting这是四个类别所共享的。
GUISkin是一组件GUIStyle的集合。GUISkin包含一组所有控件的样式,可以修改,也可自定新的。
GUISetting是UI的一些标准设置,这些设置被所有在GUISkin中的元素共享。它也是包含在GUISkin的组件的inspector下的。
GUIStyle定义一个
界面元素(或者一个控件)如何渲染的所有信息,如它使用的字体、图标位置、背景图片和间距等等,很多的设置。

2、控件构造组件:

GUILayout是用来结构各类控件的。
构造一个控件可以有三个参数:
内容--文本/图片/GUIContent;
样式--GUIStyle对象;
布局选项--GUILayoutOption对象,这个参数的数量是可变的。用于控制控件的大小,当于GUI系中的Rect参数。注:GUILayoutOption对象要通过GUILayout组件下的如下方法获取
GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight。

3、布局组件:

布局组件有两个:GUILayout和GUILayoutUtility.
这里要说一下GUILayout,这是个很牛X的组件。它有三大功能:创造控件、设置并获取GUILayoutOption对象、和布局控件的功能。
GUILayout的布局功能有:插空白、垂直布局、水平布局、滚动视图布局、还一个窗口布局。混合嵌套这些布局方式,基本上就要得到你想要的UI了。
GUILayoutUtility这个组件是GUILayout的一个补充,它提供了一个方法,在构造一个控件之前,先获取它的矩形大小或先设置一个要使用的矩形大小。

六、说在最后的
1、上面我只大概说了一下UnityGUI系的UI组件的用法,其它的也差不多。
2、前面已经说了,UnityGUI系统可以分为相对四个独立的部分。它们之间有共有的组件,有不同但相似的组件,也有只用的于编辑器的组件。只要我们分开来学习,是不学混乱的。分合思想在应该也是很重要的学习方式!




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿海-程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值