近期在使用fairygui做ui界面时,为了让所做的ui充满整个屏幕,为UIRoot添加了 setcontentScaleFactor函数,函数参数写的是屏幕分辨率大小,我希望它可以缩放至屏幕的高度 ,然而并没有什么效果,查询官网教程得知:

fairyguiUI适配问题


因此函数内应该写的是设计分辨率,他会一这个大小为基础来缩放。


高度优先的适配

一些UI设计师会使用高度优先的适配方法,也就是固定选取垂直边的比例,这种设计方法保证了UI界面垂直方向的内容总是布满,

而水平方向两边均预留只放置装饰内容的空间。例如设计分辨率是1136×640,那么设计师只在中间960×640的空间内放置重要内容,

而两边各88像素的空间上的内容是留白的,是可以随时牺牲掉的。例3:实际分辨率是1136×640时,我们通过调用

GRoot.inst.setContentScaleFactor(960,640, ScreenMathMode.MatchHeight)

获得contentScaleFactor=1。这时GRoot的大小为960×640,而全屏界面的大小为1136×640,我们重新设置它的x坐标使其符合设计师的要求,即

someComponent.x = (GRoot.inst.width – someComponent.width)/2;

左边缘和右边缘将会被屏幕边缘裁剪掉。
例4:实际分辨率是1280×720,通过调用

GRoot.inst.setContentScaleFactor(960,640,ScreenMathMode.MatchHeight)将获得contentScaleFactor=1.125。

这时GRoot的大小为1136×640,如果有需要,我们可以重新调整组件大小使之满屏。


相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-03
  • 2021-05-19
  • 2021-04-12
  • 2021-08-05
猜你喜欢
  • 2021-09-18
  • 2022-02-16
  • 2022-12-23
  • 2021-12-03
  • 2021-04-21
  • 2021-08-03
  • 2022-12-23
相关资源
相似解决方案