Unity

Unity 适配 iPhone X 的一种实现方法

2018-01-31  本文已影响0人  加菲教主

我一边骂着苹果是专利流氓,对开发者还极其不友好,一边又得靠 iOS 这个平台养活自己。于是当他们出了个带刘海儿的鬼东西之后,我还是得想想怎么适配 GUI。在 UWA 上提问之后,有同行提供了一些思路(参见这里),再加上和朋友讨论,决定用本文描述的这种实现方法。

注意:

基本原理

苹果建议的安全区是这样的:


其实就是需要比屏幕的外接矩形小一号的矩形(上图中浅绿色矩形),一些控件需要锚定到这个小一号的矩形上。

在这个基础上,我需要做几件事:

运行时

运行时的部分主要由两个组件(MonoBehaviour)组成:

安全区管理器(Manager)

安全区控制器(Controller)

编辑器

很讽刺,反倒是编辑器当中需要做的事情比较多。

简单的部分是,将上述内容做在一个 Prefab 里,供拼 UI 的人使用。拼 UI 的人只需要将其拖到正在编辑的 UI Prefab 中,指定一个 UIPanel 就可以让它生效。(当然直接做个菜单项就更好了)

实现起来麻烦一点的,就是在编辑器里假装自己是 iPhone X

用于 B 模式的场景
其中的Mask节点

陷阱和问题

上一篇下一篇

猜你喜欢

热点阅读