还是新手问题,node.destroy问题

随便创建了一个节点,加上了rigidbody2d,boxCollider2D,如图

代码如下:
start () {
let collider : Collider2D = this.getComponent(Collider2D);
if(collider)
{
collider.on(Contact2DType.BEGIN_CONTACT, this.onContractBegin, this)
}
}

onContractBegin()
{
    this.node.destroy();
}

报错信息如下:

感谢大家。

onContractBegin()
{
this.node.active = false;
this.node.destroy();
}
这样试试?我也不确定,你先试试设置active属性有没有问题?

好的,我先试试。感谢

先关闭 active ,在把包围盒给移除,最后在用 try catch 啊。

跟踪下来就是在刚体组件设置active的时候报错的。

Creator 3.4.2,遇到了同样的问题。最后加了一毫秒的延时就没问题了。

    setTimeout(() => {
        this.node.destroy();
    }, 1);

node destroy文档的例子里面也有延时,创建和销毁节点 · Cocos Creator

怀疑destroy node的时候延时是不是必须的,希望牛人们出来确认一下。 :mage: