我们开发移动端游戏的时候,一般都会选择Constrained/FixedSize的缩放模式来保证图片在不同的分辨率下相对于屏幕的尺寸保持一致,但是对于屏幕自适应来说,这还是不够的,不同的手机存在不同的高宽比,所以需要引入相对位置的概念。
NGUI作为一款成熟的UI插件,为我们提供了成熟的屏幕自适应技术。
Anchor组件
我们可以创建一个Anchor组件到舞台,Anchor即锚点,其作用是可以指定为摄像机的9个点(分别是:上左、上、上右、左、中、右、下左、下和下右)为其锚点,当摄像机的尺寸变化(即屏幕尺寸变化)时,锚点组件可以校正其当前的位置,将需要相对定位的组件拖入描点组件中即可实现组件的相对定位。
需要注意的几点:
- RunOnlyOnce属性,该属性决定是否只在开始时进行一次配适,一般移动端游戏运行过程中游戏窗口尺寸都不会变化,所以可以勾选。
- Anchor组件不需要手动拖拽。
组件的Pivot属性
即组件的中心点或叫做注册点,组件的旋转的偏移都依赖于该点,可以看做组件的本地原点。
组件的Anchors属性
不同于Anchor组件,Anchors属性是所有基础组件都提供的一种相对定位的属性。
其作用是让当前组件的位置和尺寸相对于另一个组件,如果目标组件发生了变化,这些变化会影响到相对他的组件的。
Anchors属性可以设置相对的组件即该组件的四个边的位置。