unity3d ngui UIAnchor UIWidget 以及Anchors属性(原)

本文详细介绍了NGUI 2.6与3.0版本中UIAnchor与UIWidget组件的功能变化,包括不同类型的Anchors属性如何实现UI元素的对齐,以及这些组件在新版中的改进。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UIAnchor

功能说明::anchor组件用来对齐,给任意对像添加anchor组件

ngui2.6版本

有anchor组件的对像,父对像必须有panel组件,否则它自己会自动调节成父对像为最近的panel,比如可以给sprite添加

side 对齐方式

uicamera 对齐到目标摄像机

widget container 对齐到widget对像

panel container 对齐到panel对像

注意如果widget container设置了对像,以这个对像为目标对齐,忽略摄像机,如果panel container设置了对像,以这个对像为目标对齐,忽略widget container的对像及摄像机

ngui3.0以后版本

父对像不需要一定是panel组件,不在区分widget container和panel container只有一个container属性,其它功能不变。

但sprite等UI控件自身就有anchor属性,它的功能在UIRect基类中被实现,所以不要需要在手动添加anchor组件,并且可以使用widget组件,所以3.0以后不在使用anchor组件



UIWidget

功能说明:用来确定自身的锚点,以及depth值,dimensions改变对像的大小,widget为sprite等的基类

ngui2.6版本

UIWidget是抽像类,不能被添加到组件,它的功能直接在它的派生类中体现,比如sprite

ngui3.0以后版本

不在是抽像类,我们可以直接创建这个组件,可以用它来做为一个容器,可以来设置整组的锚点,同时它还有anchor属性,可以将整组UI控件的对齐统一对齐



Anchors对属性

功能说明:3.0以后在UIRect基类中实现的类似2.6版本中的UIAnchor对齐功能

unifed:只有一个对齐目标

target:对齐目标

left:自己的左边对齐到目标的位置

right:自己的右边对齐到目标的位置

bottom:自己的底边对齐到目标的位置

top:自己的顶边对齐到目标的位置


advanced:多个对齐目标

每条边都可以有一个对齐目标,并且可以设置为空

需要注意的是Anchors属性 总和UIWidget同时出现,使用unifed对齐时,左边和右边的设置会直接改变widget的dimensions值,这点很让人恼火,但我们可以改用advanced类型,只需要设置需要对齐的边,其它边对齐的目标设为空,这样就不会影响到widget的dimensions的值了




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值