发现mask组件的一个BUG

  • Creator 版本:2.0.7

  • 目标平台: chrome / Android

  • demo已上传,在留言区

重现方式如下:
1.场景编辑器中添加一个空节点
2.给此节点加一个mask组件,勾选inverted
3.在此节点上加一个精灵图片,大小为7201500(设计分辨率为7201280,为了适配)
4.在chrome浏览器内Responsive先跑7201100
5.游戏加载后更改Responsive为720
1200,顶部出现白边

希望还是全屏灰色遮罩。

BUG图如下:

希望如下:

因为Android手机有呼出和关闭底部状态栏的操作,此时会更改屏幕尺寸,所以发现的此问题。

加一个cc.Widget组件,Align Mode 使用 ON_WINDOW_RESIZE 或者 ALWAYS

不是这个问题,遮罩本身是全屏的,感觉是引擎组为了优化,当用到mask组件的时候,第一次渲染完后把屏幕外的内容裁剪掉了,导致更改浏览器尺寸时,出现此问题 。

紧急,马上上线。请问怎么@官方人员

不是mask的bug,是你适配没弄对。建个demo发你,你自己看吧。test-demo.zip (603.2 KB)

看了DEMO,你那样是没有问题的。但是mask组件你没勾选inverted ,达不到新手引导的效果。你可以看一下我的效果图

test-demo.zip (609.4 KB)

此处是重现BUG的DEMO

别沉。

适配问题,你把canvas节点拖到你的mask的target上试下。

不是适配问题, 我上传了demo,你可以试一下。

看了你上传的,应该算是一个bug,暂时你就把蒙版高度设置为200%吧。

记录一下,待会测一测

谢谢。留言区有我的DEMO

不是适配问题,1000%也没用,是被裁减了

大佬,有没有解决方案?

MaskTest.zip (723.6 KB)参考,使用widget组件,target设置为Canvas节点,不要用默认的parent节点就可以

你这个方法,我之前就试过,有问题的,这里应该是bug。@BigBear

按道理来讲,如果这里没有bug,那么不管怎么调整屏幕的大小,遮罩都应该是覆盖全屏的。

大佬,不是适配问题,你可以试着在你的demo里跑PortraitScene(chrome里按设计分辨率),然后扩大浏览器宽度从640到700 ,就会发现黑边。如果canvas屏幕适配选择fit width,就扩大高度,也会发现黑边。