[LayaAirIDE 2.0]iOS环境浏览器使用mask黑屏

重现步骤:1. 使用ide 2.2.0以上的版本编译实例项目,这里用的2.3版本,在GameControl onEnable中执行如下代码:
private _sp = new Laya.Sprite();

private _testMask() {
this._sp.graphics.clear();
this._sp.graphics.drawCircle(100, 100, 50, '#ffffff');

Laya.timer.once(3000, this, () => {
this.img.mask = this._sp;
})

}
之后编译项目
2. 使用iphone手机的safari扫码功能运行项目
3秒中之后必现黑屏
手机型号: iphone 6s 系统 13.1.3
使用qq浏览器扫码一样的结果,应该是ios环境浏览器都会这样
已邀请:

Aar0n

赞同来自:

用最新版试试~! 最新版修复过一些mask问题,如果最新变还有可以继续发个新版的demo

亮仔

赞同来自:

使用2.4.0betaide 和2.4.0beta2的库还是黑屏
 

郭兆奎

赞同来自:

经过测试发现这个问题时有时无,像与时序有关,感觉ios的webgl有点线程问题,下面提供临时处理方法:
1. 改源码:
修改 WebGLContext.ts 的 
static setBlendFunc
把 
if (force || sFactor !== WebGLContext._sFactor || dFactor !== WebGLContext._dFactor) {
改成 if(true){
 
2. 改laya.core.js
找到 869行左右的 static setBlendFunc(gl, sFactor, dFactor) 函数
把  if (sFactor !== WebGLContext._sFactor || dFactor !== WebGLContext._dFactor) {
改成
if(true){
 
 

要回复问题请先

商务合作
商务合作