[]游戏遇到个bug,

游戏里有几处改变alpha的tween,,运行时有个很小几率的bug,,报错如下:
QQ图片20170217175206.png


QQ图片20170217175148.png

style为null说明该对象已经destroy了,,但是报错说明仍然在执行改变alpha的缓动,这个缓动没有停止。
游戏代码是已上线的游戏,别的引擎做的,,现在改为layabox,,逻辑上没有变化,,
而且报错后游戏一下子特别卡,,
我试了下,在destroy对象后对象的缓动就停止了,,难道是引擎的几率吗还是什么?
已邀请:

Laya_XS

赞同来自:

能提供个示例或游戏地址吗,我们这边查下问题,或者你自己断点看下什么情况下导致报错

qq502416708

赞同来自:

我现在加了个destroyed的判断就不出现这个bug了。说明确实是该对象已被删除了,但仍在执行tween。
我的代码是在收到socket的消息后调用destroyChildren,这时tween没有执行完,有很大几率出这个bug。
代码如下
Laya.Tween.to(spring2,{scaleX:1.0,scaleY:1.0},500,null,Laya.Handler.create(this,function(){
            if(!spring2.destroyed){ // 添加判断后就不出bug了
                Laya.Tween.to(spring2,{alpha:0},300,null,Laya.Handler.create(this,function(){
                if(callback){
                    callback();
                }
                spring1.destroy();
                spring2.destroy();
                ani.destroy();
                }),1200);
            }
        }));
但是写个不联网的demo没出现这个问题。也不清除为什么destroy后仍在执行tween
@xiaosong

要回复问题请先

商务合作
商务合作