Cocos Creator 2.3.3
cc.sys.getSafeAreaRect() 返回值要怎么理解呢
理解了好久都没能对上 safeAreaRect.x, safeAreaRect.y, safeAreaRect.width, safeAreaRect.height 究竟是指哪些点,对不上。
Cocos Creator 2.3.3
cc.sys.getSafeAreaRect() 返回值要怎么理解呢
理解了好久都没能对上 safeAreaRect.x, safeAreaRect.y, safeAreaRect.width, safeAreaRect.height 究竟是指哪些点,对不上。
safeAreaRect.x, safeAreaRect.y 这个表示左下角的 x,y (这个坐标点 0,0 点在屏幕中心,所以需要在计算一次进行居中处理)
safeAreaRect.width, safeAreaRect.height 这个表示区域的大小
具体可以看一下计算 getSafeAreaRect 的代码
对应输出结果
JS: {"x":0,"y":-124.66666666666674,"width":750,"height":1526.0416666666667}
JS: {"width":720,"height":1520}
可能大佬的代码有居中的考虑,但是单纯看安全区域和屏幕区域的 width 和 height
安全区域比屏幕区域还要大,这个计算是不是有问题呢?
你跑一下 example-cases 中的 SafeArea 看看是否效果正常,这个之前有测试过
2.3.3 的Cocos Case 中没有找到这个 SafeAre
大佬能先解释一下为什么安全区域比屏幕区域还要大吗?
有可能是其它 bug 导致的,你先看看我发给你的 demo 是否正常
我自己写算了。。。
输出日志都说不过去,理论都还没通,测试说不过去,
抱歉,语气变得不好了,因为我也排查了很久很久很久
现在我十分在意 安全区域比屏幕区域 还要大这个输出日志,这个明显是有问题的呀,得要先解释同才测试呀,测试一次需要很多时间呀
用不来 从来不用这个API 
我也用大佬的demo测试好了,demo是正常的
感谢两位引擎大大的帮忙~
这种平台和设备相关的接口,引擎跟的都比较慢,最好还是自己查资料实现。
我们项目在iPhone X出来后就要求适配刘海区域,现在都几年过去了引擎这接口还没稳定。。。
另外给个建议,getSafeAreaRect最好返回屏幕占比,因为原生接口取到的分辨率到引擎这边还要各种转换,返回屏幕占比,游戏代码乘以全屏大小就行了
2.4 提供了 SafeArea 组件,直接挂到节点上就能用啦,无需转换