大家有没有异形屏UI适配的方案呢

最近要做新项目了,然后在考虑新游戏的适配,因为现在市场上的手机各种各样,然后出现了让玩家自己调整的一种UI适配。参考的游戏是《明日方舟》,先给出一些图。

,这个异形屏UI适配可以滑动,然后俩端出现一个黑色遮挡物,现在是38,代表着俩边的宽度是38像素,数字越大,俩端越大,100是最大值。下面是游戏菜单的图。

首先是完整的图。

,然后给出异形屏UI适配以后的图,,我仔细看过,有的UI没有缩小,有的缩小了一点点,然后我觉得他们的方案是俩边黑色遮挡物一开始是一条线,随着异形屏UI适配的设置,慢慢放大(也可以一开始放在画布外面,然后移动进来),然后里面的UI随着改变位置,让整个游戏的画面更加的紧凑,小了点,这样一些手机俩端的自带的什么水滴啊,刘海就挡不住游戏了。我就想在creator里面也这样写,写了一个工具类,如图

,UIFit是一个类,挂在场景中,场景中的UI绑定这个脚本,分了上下俩端(游戏是竖屏),然后这个脚本里会接收到异形屏UI适配设置的那个数值,然后脚本里的代码是让UI上下自动移动。接着我发现.creator的widget和这个冲突了。如果我这个UI上挂了widget,那么我这个脚本改变UI坐标的代码会先执行,然后UI自动的widget会又改变回去…但是UI不挂widget,一些原始的适配就不能好,所以想问问大家,有没有这种异形屏UI适配的方案呢。

shapedScreenAdapt.js.zip (1.5 KB)
2.0.7hack了 一下cc内部的适配逻辑。暂时只支持顶宽 或者顶高。

谢谢你,我运行了一下,看到了效果。我在弄个demo看看效果、

谢谢哥们…没想过去改引擎自带的适配…哈哈。厉害厉害

UI适配用fairyGUI就很好啊