
iphoneX由于带有各种传感器,不得不搞了个刘海屏,各个国产手机也跟了一波风,手机传感器塞的很爽,但苦逼的开发者又增加了新工作——为app增加刘海屏适配。
在游戏里面,很多UI都是紧贴屏幕边缘的,这样就会被刘海屏的刘海盖住,无法点击。网上找了几种适配方案,有的是直接缩短游戏宽度,刘海的部分是一条整齐的黑边。我觉得这样的方案不好,毕竟它缩短了游戏显示宽度;另一种方案是只将UI的部分向刘海内侧推动一截,其余不变,场景还是原来的宽度。我觉得这个方案比较好一些,相对不影响游戏的视角观感。
实现方式:
1首先要检测是否是刘海屏。这里可以使用平台和分辨率来判断,也可以读取SystemInfodeviceModel获取设备型号,或者用这个UnityEngineiOSDevicegeneration也可以,主要是要实现这么个接口就好。
2如果是刘海屏,对需要设置适配的UI(只有那些交互元素贴边的UI需要适配,其余不需要),设置其最底层Panel的offsetMin或者offsetMax (有的博客是直接在刘海屏上同时设置offsetMin和offsetMax,也就是四边都往里缩进,我觉得不太好,毕竟只有一边有刘海,其他的边不需要缩进,否则会缩小游戏场景部分的显示范围) 。这里设置的宽度值我参考他人的博客使用44f,效果还是可以的。
3如果你的游戏允许左右转屏,那么还要监听屏幕转动事件,再根据屏幕方向去设置offsetMin或offsetMax。
最后,现在貌似出了一种技术,可以把传感器直接藏在透明的屏幕下方;也有厂商把传感器放在手机夹层里,需要使用的时候再从屏幕上方d出来。总之希望刘海屏和各种类似的Notch屏赶快淘汰,一整面完好无损的大屏才是审美,Notch什么的太逼死强迫症了。
以上就是关于Unity屏幕适配之——刘海屏全部的内容,包括:Unity屏幕适配之——刘海屏、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)