[LayaAirIDE 2.0]LayaBox 出错啦,请把此信息截图给研发商 SimpleSingletonList

WechatIMG1110.jpeg
已邀请:

杜1

赞同来自: 月亮真扁

不改变源码的情况下 可以 重写 那个报错的函数,添加兼容性判断. 等官方解决了 再删掉这段代码.

    /**解决因为卡顿在多点触摸期间导致的bug*/
    private static SingletonList_expand(){
        Laya.SingletonList.prototype["_remove"] = function(index){
            // @xd added, 如果index == -1 不执行
            if(index == -1){
                return;
            }
            
            this.length--;
            if (index!==this.length){
                var end=this.elements[this.length];
                // @xd added, 添加end是存存在判断
                if(end){
                    this.elements[index]=end;
                    end._setIndexInList(index);
                }
                
            }
        }

        var old_func  = Laya.SimpleSingletonList.prototype.add;
        Laya.SimpleSingletonList.prototype.add = function(element){
            var index=element._getIndexInList();
            //  add, 添加安全性判断.
            if (index!==-1){
                LogsManager.echo("SimpleSingletonList:element has  in  SingletonList.");
                return;
            }

            old_func.call(this,element);
        }

    }

  

刘文

赞同来自:

顶一下,求助官方,  好像是触摸的时候偶尔会遇到,毫无头绪啊

1567490675用户

赞同来自:

遇到同样问题。顶起来 希望开发组回复
 

Aar0n

赞同来自:

用最新引擎还有这个问题吗?

Kerry

赞同来自:

我也遇到相同的问题 请问你解决了吗

MasterYi

赞同来自:

as?js那个怎么整,全部压缩过的js了

dpapa

赞同来自:

2.6.0版本也有这个BUG,修复如下:
laya.d3.js -> SimpleSingletonList.Clear -> for (var i = 0, n = this.length; i < n; i++)
引擎代码 i没有赋初值,导致 i<n永远为false.
引擎开发成员水平堪忧!

要回复问题请先

商务合作
商务合作