3.2碰撞检测范围修改不成功,请大佬指点

    this.CCD = this.node.getComponent(CircleCollider2D) as CircleCollider2D

    this.CCD.radius = 50;

console.log()这里显示修改成功了;
实际上检测范围没变化;在属性面板CircleCollider2D.radius这里修改才可以成功;我只想通过代码修改不行
请求大佬指点;

这里用的是什么物理后端。我根据描述选择 builtin 测试,没发现问题。

什么是物理后端。。 :sweat_smile:

Box2D

可能是修改时机问题,确保在物理组件生效之后再设置,也就是在同节点组件的 onEnable 中设置

onEnable(){

    let a = this.getComponent(CircleCollider2D) as CircleCollider2D;

    console.log(a.radius)

    a.radius = 200;

    console.log(a.radius)

}


不会弄啊 :sweat:

let a = this.getComponent(CircleCollider2D) as CircleCollider2D;

console.log(a.radius)

a.radius = 200;

console.log(a.radius)

}

不会弄啊

:sweat:

onEnable(){

    let a = this.getComponent(CircleCollider2D) as CircleCollider2D;

    console.log(a.radius)

    a.radius = 200;

    console.log(a.radius)

}

应该是当帧的时候没有更新,你试试下一帧的时候看看是否有修改成功