BUG,creator 3.2显示区域和点击区域不一致

前情提要:creator 3.2,vivo小程序,点击区域偏移(显示位置正常)

  • Creator 版本:3.2

  • 目标平台: vivo小游戏(可能其他平台也会出现)

  • 测试设备:oneplus9R(出现bug) nexus6(正常)
    (推测应该是所有有刘海的设备都会异常,未验证)

  • 重现方式:3.2新建一个empty工程,不更改任何设置,随便放一个按钮(UI–>BUTTON),打包vivo小程序测试,按钮大概会向下偏移100像素左右

  • 重现概率: 100%

经过详细测试发现
在游戏后面放一个全屏幕大小的背景图,会发现,背景图顶部,大概有100像素左右,被刘海栏遮挡,显示不完整,而底部显示完整。说明显示的区域,计算的是全屏幕,没有对刘海栏做处理
而点击的时候,点击屏幕最底部,打印出的坐标,最小值是100左右,点击顶部,刘海栏处无响应,刘海栏下面,第一个可响应的点,最大值是屏幕高度的最大值。
即:
背景图完整如下图
jt1
实际手机显示效果如下图


请注意顶部被刘海栏遮挡的部位。

最后导致的结果,点击区域和显示区域,大概偏移了一个刘海条的高度
用safearea也没有效果

用2.43测试了一下,是正常的
背景图片在没有刘海栏的地方完整显示
顶部和底部的坐标,也是0和2400

快告诉我该怎么改

3.2.1 仍然存在该bug

官方人呢???

前天提了一个ccc3.2的问题,也一样没人吱声。。。

又测试了一下,3.0的时候,还是正常的,3.1的时候有了这个bug

原帖我怎么不能编辑了

3.0.0 是正常的,3.0.1开始有了这个bug
昨天大概更了一下代码,在view.ts里面,关于canvas的设置,最开始在webgl init的时候,canvas的size是去掉了刘海栏之后的大小,我获取到的高度是2297
后面不知道哪个地方,给他设置成了屏幕大小,2400

感谢反馈,这里主要是平台接口的问题,可以参考这个临时解决方案
https://github.com/cocos-creator/engine/pull/9233

之后会反馈给平台方处理

不是吧,我测试了,3.0.0都没这个问题,3.0.1引入的

是的,因为之前用的 屏幕高度都是 window.innerHeight,这个是正确的,
到了 3.0.1 开始 window.innerHeight 这个数值被覆盖成了有刘海屏的高度了

说不通啊
如果是平台方的接口问题,那我同一个机器,同一套测试方法,应该是3.0.0或者3.2.0都会有问题才对。
但是3.0.0都是对的

实际上 3.0.0 上使用的不是平台的正式接口,是一个更底层的私有接口,
3.0.1 开始我们希望通过平台开放的接口来实现功能,这里就出问题了

大佬,我刚刚试了一下,这么改了还是不行
还是会有偏移,只不过没有之前那么多而已
你是用的3.2.0测试的吗

我先build & make ,然后在生成的工程路径下,改了那个文件,大概在6138行, 注释掉了你说的内容
然后重新make,出来的结果,一样是上下偏移

引擎的相关修改也同步了吗
https://github.com/cocos-creator/engine/pull/9233/files

引擎没改,改了就好了

大哥,你再帮我看看这个

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。