美文网首页
Unity屏幕适配之——刘海屏

Unity屏幕适配之——刘海屏

作者: 战斗力五只鹅 | 来源:发表于2018-10-02 00:48 被阅读0次

    iphoneX由于带有各种传感器,不得不搞了个刘海屏,各个国产手机也跟了一波风,手机传感器塞的很爽,但苦逼的开发者又增加了新工作——为app增加刘海屏适配。

    在游戏里面,很多UI都是紧贴屏幕边缘的,这样就会被刘海屏的刘海盖住,无法点击。网上找了几种适配方案,有的是直接缩短游戏宽度,刘海的部分是一条整齐的黑边。我觉得这样的方案不好,毕竟它缩短了游戏显示宽度;另一种方案是只将UI的部分向刘海内侧推动一截,其余不变,场景还是原来的宽度。我觉得这个方案比较好一些,相对不影响游戏的视角观感。

    实现方式:
    1.首先要检测是否是刘海屏。这里可以使用平台和分辨率来判断,也可以读取SystemInfo.deviceModel获取设备型号,或者用这个UnityEngine.iOS.Device.generation也可以,主要是要实现这么个接口就好。

    2.如果是刘海屏,对需要设置适配的UI(只有那些交互元素贴边的UI需要适配,其余不需要),设置其最底层Panel的offsetMin或者offsetMax(有的博客是直接在刘海屏上同时设置offsetMin和offsetMax,也就是四边都往里缩进,我觉得不太好,毕竟只有一边有刘海,其他的边不需要缩进,否则会缩小游戏场景部分的显示范围)。这里设置的宽度值我参考他人的博客使用44f,效果还是可以的。

    3.如果你的游戏允许左右转屏,那么还要监听屏幕转动事件,再根据屏幕方向去设置offsetMin或offsetMax。

    最后,现在貌似出了一种技术,可以把传感器直接藏在透明的屏幕下方;也有厂商把传感器放在手机夹层里,需要使用的时候再从屏幕上方弹出来。总之希望刘海屏和各种类似的Notch屏赶快淘汰,一整面完好无损的大屏才是审美,Notch什么的太逼死强迫症了。

    相关文章

      网友评论

          本文标题:Unity屏幕适配之——刘海屏

          本文链接:https://www.haomeiwen.com/subject/vbrooftx.html