[Unity3D]Unity3d的GUI排版教程--1(转)[复制链接] 电梯直达 楼主 发表于 2012-2-16 14:35:40 | 只看该作者 | 倒序浏览 教程主要是面向WEB 3D开放方向的朋友而些的,也有助于以前的的DIV+CSS设置者在利用U3D设计3D WEB的时候,有个清醒的认识。 很多初学的朋友在做U3D的UI设置的时候,对U3D的GUI与GUILayout相关的BUTTON、Label 、TextArea 、TextField等等类概念十分模糊。奇怪于为什么会有种状态的按钮,标签、文本域、文本输入框等等。其实如果您以前是从事个Web页面设计的专业人士,你会对这些东西的认识,尤感清晰。 在我们以前的网页设计中,为了便于排版,我们总是用表格或是DIV将一个完整的UI进行切片处理,这样做的好处是使页面的设计更加的整齐划一。而在U3D中,这种块状分布式的处理操作,就得力于GUILayout。下图展示了一个网页,根据其各个板块的不同功能,而被切割成不同的区域,用来承载本区域内的图片、文字、按钮、Flash等。 由于GUI类名下的按钮控件定义方便,十分灵活,在U3D的游戏制作中频繁被使用和出现。但它实质上只相当于WEB中的浮动块的功能。所谓的浮动块是游离整个UI上面的一个区域,它的大小位置由自身所确定,而不由排版模块来确定。这种UI设计的好处是随心所欲,比较灵活。但对于过于繁重的UI设计来说,并不是一件好事。因为你要为每一个GUI元素都单独定义一个位置和大小参数。 其实GUI.Button这样的控件更容易学习和掌握,但不利于大量的UI编排工作,所以笔者在下一节会结合CSS来为大家讲述GUILayout的使用方式。 教程主要是面向WEB 3D开放方向的朋友而些的,也有助于以前的的DIV+CSS设置者在利用U3D设计3D WEB的时候,有个清醒的认识。 很多初学的朋友在做U3D的UI设置的时候,对U3D的GUI与GUILayout相关的BUTTON、Label 、TextArea 、TextField等等类概念十分模糊。奇怪于为什么会有种状态的按钮,标签、文本域、文本输入框等等。其实如果您以前是从事个Web页面设计的专业人士,你会对这些东西的认识,尤感清晰。 在我们以前的网页设计中,为了便于排版,我们总是用表格或是DIV将一个完整的UI进行切片处理,这样做的好处是使页面的设计更加的整齐划一。而在U3D中,这种块状分布式的处理操作,就得力于GUILayout。下图展示了一个网页,根据其各个板块的不同功能,而被切割成不同的区域,用来承载本区域内的图片、文字、按钮、Flash等。