大家好,我是太阳广东。

转载请注明出处: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. Delphi动态申请数组内存的方法(不使用SetLength,采用和C相似的方式)

    procedure TForm1.Button1Click(Sender: TObject);type  TArr = array [0..0] of Integer;  PArr = ^TArr;v ...

  2. VB.NET<机房收费系统个人重构版>你都学会了什么(之五)

    接着上篇我们说的配置文件,今天我们来说一下接口. 1.UML图 2.三层架构 3.Sqlhelper 4.配置文件 5.接口 6.设计模式 什么是接口呢?我们可以将接口理解为用于沟通的中介的抽象化.可 ...

  3. [Windows Phone学习笔记]UserControl的使用

    UserControl的使用 开发过程中,多个UI控件需要协同工作,相互交互之后,才可完成一个完整的业务需求,此时可把这些控件封装成为一个整体,相互之间的交互逻辑封装其中,外部调用可无需关心内部逻辑, ...

  4. [Python] heapq简介

    [Python] heapq简介 « Lonely Coder [Python] heapq简介 judezhan 发布于 2012 年 8 月 8 日 暂无评论 发表评论 假设你需要维护一个列表,这 ...

  5. [Network]Wireless and Mobile

    Wireless 1 Introduction 1.1 Elements 1. Wireless Hosts Wireless does not mean mobility. 2. Base Stat ...

  6. 基于SIFT+Kmeans+LDA的图片分类器的实现

    原地址:http://www.cnblogs.com/freedomshe/archive/2012/04/24/2468747.html 题记:2012年4月1日回到家,南大计算机研究僧复试以后,等 ...

  7. 用VLC搭建流媒体server

    VLC开元项目相当强大,我们既能够将其作为播放核心用于二次开发,又能够将其作为高性能的流媒体server.今篇博客主要讲用VLC搭建流媒体server. VLC搭建流媒体server步骤非常easy: ...

  8. 关于jdbc注冊驱动的那点事

    看到非常多人写jdbc连接工具类的时候,都会写到Class.forName()去显示载入类,一写错点点就会抛出ClassNotFoundException,关于显示载入类,究竟会不会产生作用呢? 參考 ...

  9. jquery.ui.accordion的修改(支持展开多个)

    原文:jquery.ui.accordion的修改(支持展开多个) 背景:原jquery.ui.accordion插件,最多只能展开一个,不能展开多个,后来在网上找到了一个基于它的一个修改版(http ...

  10. 开发指南专题4:JEECG高速微云开发平台--JEECG开发环境的搭建

    开发指南专题4:JEECG微云高速开发平台开发环境搭建 1. JEECG开发环境搭建 JEECG推荐的开发环境为Myeclipse8.5/Eclipse3.7+JDK1.6+Tomcat6.0 1.1 ...