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的值了