大家好,我是太阳广东。

转载请注明出处:http://write.blog.csdn.net/postedit/38922399

更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/forum.php?mod=guide&view=my

6、 Auto
Layout

Rect Transform布局系统是足够灵活。能够处理非常多不同类型的布局,它还同意将元素放置在完整的随意多边形。然而,有时更结构化的东西可能被须要。

自己主动布局系统提供方法来将元素放置在嵌套的布局组像水平组horizontal groups、垂直的群体vertical
groups或网格等。

它还同意自己主动将调整大小来包括内容。比如一个button能够动态调整大小全然地适合它的文本内容,再加上一些填充。

自己主动布局系统是建立在主要的RectTransform布局系统之上的系统。它能够(可选)可用于某些或全部元素。

6.1 Understanding Layout Elements

自己主动布局系统基于一种布局元素的概念。布局元素是元素的布局,包括的仅仅是是关于大小Size。

一种布局元素具有定义了它自己的属性:

•Minimum width

•Minimum height

•Preferred(推荐优选)width

•Preferred height

•Flexible宽度(多少水平方向扩展。假设有可用的额外的空间)

•Flexible高度(多少垂直方向扩展,假设有可用的额外的空间)

图像和文本组件是两个样例的功能作为布局元素的组件。他们有一个最小minimum宽度和高度为零,和首选preferred的宽度和高度相匹配的雪碧或文本的内容。他们灵活flexible的宽度和高度是
1。

布局元素不直接设置他们自己的大小,但其它组件能够使用它们提供的信息来计算要使用它们的大小。比如像组件的Content Size Fitter和各种各样的布局组组件。

6.2 Content Size Fitter(内容大小适配器)

最简单方法是看看自己主动布局系统中的行动,将ContentSize Fitter组件加入到布局元素。比如你能够将其加入到一个游戏物体与文本组件。

Context Size Fitter具有这两个属性:

Property:                               Function:

Horizontal Fit:特定的格式,将用于在执行时的声音。

None :不会驱动基于布局元素的宽度。

Minimum :驱动基于布局元素的最小宽度的宽度。

Preferred :驱动基于布局元素的preferred宽度的宽度。

Vertical Fit:此选项提供了更高的质量影响较大的文件大小。是最好的很短的声音效果。

None :不驱动的基于布局元素的高度。

Minimum :驱动基于布局元素的最小宽度的高度。

Preferred :驱动基于布局元素的preferred宽度的高度。

6.3 Driven Rect Transform properties

因为自己主动布局系统能够自己主动控制某些用户界面元素的大小和位置的。这些大小和位置同一时间不应手动编辑在。Rect Transform具有驱动属性。比如,ContentSizeFitter具有水平适合的属性设置为最小值Minimum或优先Preferred将驱动Rect
Transform的宽度同样的游戏对象。宽度将显示为仅仅读和小信息框,Rect Transform的顶部将信息一个或很多其它的属性由
ContenSizeFitter 驱动的。

驱动Rect Transforms属性有其它原因,在旁边防止手动编辑。一个layout可以被改变正是由于通过改变分辨率或游戏视图的大小。这反过来可以更改布局元素的大小或位置,和改变驱动属性的值。但它不是可取的场景标记对于具有未保存更改。仅仅是由于在游戏视图调整了大小。

要防止这样的情况,驱动属性的值不作为保存场景的一部分。对它们的更改不标记现场为已更改。

同一时候一些组件如其自身 Rect变换的同一时候一些组件如其自身Rect变换的内容大小钳工驱动器属性。其它组件,如布局组组件的儿童游戏对象上开车
Rect变换的属性。驱动器属性,其它组件,如布局组组件的儿童游戏对象上开车 Rect变换的属性。

6.4 Layout Element

图像和文本的组件已经是布局元素功能,由于他们定义他们自己的最小值和首选大小。假设你想要重写的最小值或首选的大小,您能够通过将布局元素组件加入到游戏物体。

布局元素组件也能够加入到不论什么游戏对象。使成为一种布局元素。

6.5 Layout Groups

布局组是组件,驱动他们的子游戏对象的布局。

布局组并不控制其自身的大小。而是它作为一种布局元素本身的功能。布局组能够通过例如以下的參数控制的Rect Transform的大小:

•手动指定一个 Rect Transform的大小。

•游戏对象自身的Content Size Fitter组件。

•别的东西控制Rect Transform -比如画布在屏幕空间模式的大小。

•一个布局组组件在父游戏对象上。

不管布局组被分配的大小,它会尝试分配合适的空间量,它的每一个孩子布局元素基于minimum, preferred, and flexible sizes的大小被记录。布局组还能够随意嵌套地通过这样的方式。

6.6 Horizontal and Vertical Layout Group

水平布局组组件的地方及其子布局元素彼此相邻。肩并肩。

其宽度取决于他们各自的minimum, preferred, and flexible的宽度,依据以下的模型

•该最小宽度的全部子布局元素加在一起,同一时候添加了它们之间的间距。其结果是横向布局组的最小宽度。

•该首选宽度的全部子布局元素都加在一起,同一时候添加了它们之间的间距。其结果是横向布局组的首选的宽度。

•假设水平布局组是在其最小宽度或更小,全部的子布局元素也将是其最小宽度。

•该更接近的水平布局组是其首选的宽度,每一个子布局元素还将得到他们的首选宽度。

•假设水平布局组是比其首选宽度更宽,它将分配到子布局元素依照它们各自的灵活宽度按比例的额外可用空间。

6.7 Grid LayoutGroup

网格布局组组件地方在网格中包含其子布局元素,当中每一个元素有一个固定的宽度和高度指定其在的网格布局组中的位置。与其它布局组不同,网格布局组忽略由其子布局元素记录的的minimum, preferred,
and flexible的大小。

TechnicalDetails

TODO

6.8 Layout Interfaces

假设它实现 ILayoutElement接口由自己主动布局系统。一个组件被视为一种布局元素。。

假设它实现 ILayoutGroup接口。一个组件估计将驱动它孩子的Rect
Transforms。

假设它实现 ILayoutSelfController接口,一个组件估计将驱动它自己Rect
Transform。

LayoutCalculations

TODO




版权声明:本文博主原创文章。博客,未经同意不得转载。

(七)unity4.6Ugui中国教程文档-------摘要-UGUI Auto Layout的更多相关文章

  1. 【转】(七)unity4.6Ugui中文教程文档-------概要-UGUI Auto Layout

    原创至上,移步请戳:(七)unity4.6Ugui中文教程文档-------概要-UGUI Auto Layout 6. Auto Layout Rect Transform布局系统是足够灵活,可以处 ...

  2. 【转】(三)unity4.6Ugui中文教程文档-------概要-UGUI Basic Layout

    原创至上,移步请戳:(三)unity4.6Ugui中文教程文档-------概要-UGUI Basic Layout 2. BasicLayout 在这一节我们会看到UI元素相对于画布的位置是怎样的. ...

  3. (六)unity4.6Ugui中国教程文档-------概要-UGUI Animation Integration

     大家好,我是太阳广东.   转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:mod=guide& ...

  4. (两)unity4.6Ugui中国教程文档-------总结-UGUI Canvas

    大家好,我是广东太阳.   转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unitym ...

  5. [转](三)unity4.6Ugui中文教程文档-------概要-UGUI Basic Layout

    大家好,我是孙广东.   转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unityma ...

  6. (三)unity4.6Ugui中文教程文档-------概要-UGUI Basic Layout

     大家好,我是孙广东.   转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unit ...

  7. 【转】(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text

    原创至上,移步请戳:(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text 7.Rich Text UI元素和文本网格的文本可以合并多个字体样式和大小.对 UI系统 ...

  8. 【转】(六)unity4.6Ugui中文教程文档-------概要-UGUI Animation Integration

    原创至上,移步请戳:(六)unity4.6Ugui中文教程文档-------概要-UGUI Animation Integration 5.Animation Integration(动画集成) 动画 ...

  9. 【转】(五)unity4.6Ugui中文教程文档-------概要-UGUI Interaction Components

    原创至上,移步请戳:(五)unity4.6Ugui中文教程文档-------概要-UGUI Interaction Components 4.Interaction Components 本节涵盖了处 ...

随机推荐

  1. Swift - 自定义UIActivity分享

    UIActivity可以十分方便地将文字.图片等内容进行分享,比如分享到微信.微博.发送邮件.短信等等.我们不仅可以分享内容出来,也可以在自己的App里添加自己的分享按钮或隐藏已有的分享按钮来实现定制 ...

  2. Cloud Foundry中通用service的集成

    目前,CloudFoundry已经集成了很多第三方的中间件服务,并且提供了用户添加自定义服务的接口.随着Cloud Foundry的发展,开发者势必会将更多的服务集成进Cloud Foundry,以供 ...

  3. go iota

    package main import ( "fmt" ) const ( a = 'A' b c = iota d ) func main() { fmt.Println(a) ...

  4. hdu 3832 Earth Hour (最短路变形)

    Earth Hour Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 125536/65536 K (Java/Others) Tota ...

  5. VMware vSphere 服务器虚拟化之二十八 桌面虚拟化之安装View传输服务器

    VMware vSphere 服务器虚拟化之二十八 桌面虚拟化之安装View传输服务器 View 传输服务器用于管理和简化数据中心与在最终用户本地系统上检出使用的 View 桌面之间的数据传输.必须安 ...

  6. Tiny Mapper是一个.net平台开源的对象映射组件

    NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper   阅读目录 1.Tiny Mapper基本介绍 2.Tiny Mapper 基本使用 3.Tiny Mapper 指定配置使用 ...

  7. struts2文件上传限制大小问题

    struts2默认文件上传大小为2M,如需改动默认大小,解决方法例如以下: <struts> <constant name="struts.multipart.maxSiz ...

  8. Keil - 编译错误总结 01

    Keil 编译 STM32project,出现下述错误. 并且.   Options for Target  -> Output   -  Browse  Information 选项无法勾选. ...

  9. C++--allocator类的使用

    C++为我们提供了安全的内存空间申请方式与释放方式,可是new与delete表达式却是把空间的分配回收与对象的构建销毁紧紧的关联在一起.实际上,作为与C语言兼容的语言,C++也为我们提供了更加底层的内 ...

  10. UVA 11080 - Place the Guards(二分图判定)

    UVA 11080 - Place the Guards 题目链接 题意:一些城市.之间有道路相连,如今要安放警卫,警卫能看守到当前点周围的边,一条边仅仅能有一个警卫看守,问是否有方案,假设有最少放几 ...