注意:本文翻译时NGUI版本已经更新到3.0.7
原文地址:http://www.tasharen.com/forum/index.php?topic=7013
UIRect是所有Widgets和Panels继承的基础组件。你不能把它创建为一个组件,因为它是抽象类。如果你想要某些东西是可见的,你应该创建Widget或Panel。
下面视频展示不同anchor类型的表现:http://www.youtube.com/watch?v=P8JTTE0JBXQ
所有拥有可修改区域的NGUI元素能被固定到其它元素或者设置3D对象上。当选择一个固定点(Anchor Point),你能决定是你所有边都固定到同个对象上,还是不同对象上。选择Unified只会给你选择一个固定对象,Advanced则可以为每边选择一个固定对象。
为了固定一个挂件(Widget),把它移到一个想要放置的位置,选择其中一个物体,并拖放一个你想要它固定到的目标到选项上。anchor的值就会被自动填充。
为了设置一个挂件一直在另一个挂件里面,让它成为那个挂件的孩子结点并选择Unified选项。为了使得你更方便,target widget将自动初始化设置并初始化值。你接着也能在场景视图中像平常那样调整widget,或者是修改选项。
每一边的固定和其它边是独立的,而每一个边你都需要选择它会固定到哪3个位置上。例如对于Left和Right,他们有Left,Center,Right可选。如果不满足你的需要,你可以选择Custom并自己设置值。
Custom设置使用相对值工作。这个值是相对目标的大小,而且也可以让你选择使用其它widget或panel作为目标。
在Left或Right固定点上,0意味着最左,1意味着最右,0.5意味着中间。
选择“Set to Current Position”将简单设置它当前的位置,使用相对定位的百分比来设置。
如果你想要更多控制,或者你只想定位指定一边,那你应该使用Advance 定位类型。同个Advanced模式,你能对每个定位点指定统一的target,有效控制将被定位的边,而当你保留的原来设定的边将保持不变。在上面的图片上,我调整slider的拖柄,我选择为Top和Bottom填充anchor,让它们随着slider的高度改变重置大小,但我留Left和Right保持None。这意味着重新设置slider的水平大小不会影响到拖柄。
最后但也是很重要的,你不需要指定widget或panel作为目标。你也能指定任何一个游戏对象以便让UI挂件跟随它。
http://tasharen.com/ngui/docs/class_u_i_rect.html
如果你有一些和这个组件相关的问题,也可以在下面讨论。