代码addComponent会出现问题

我先把自己的脚本destroy了,然后再代码addComponent,结果这个脚本里面 数组的默认值是null ,各种自己的变量都获取不到,还有各种问题

destroy是 节点都没了

我只是destory 脚本

:sweat_smile:removeComponent这个才是移除组件好吧

我先remove了
再destory

:sweat_smile:你的那些获取不到的数组节点啥的,是直接在场景里拖进去的?那销魂后估计是没了,如果是代码获取的,应该没问题

并不是 我数组都是自己代码获取的
initControl(){
if(!this.playerC){
this.playerC = this.node.getComponent(PlayerControl);
this.enemyC = this.node.getComponent(EnemyControl);
}else{
console.log(this.playerC);
}
}
removeAllControl(){
this.node.removeComponent(this.playerC);
this.node.removeComponent(this.enemyC);
this.playerC = null;
this.enemyC = null;
}
addAllControll(){
this.node.addComponent(PlayerControl);
this.node.addComponent(EnemyControl);
}
我先执行的remove 然后add 然后init,发现init到的脚本enabledInHierarchy =false

:sweat_smile:只是这段代码的话不是很明显有问题吗?你后面添加的时候,PlayerControl和EnemyControl哪来的?

找到原因了,不能立即init,要设置settimeout再init

没看到我add了吗

:sweat_smile:原来你意思还是这个,你这脚本刚添加进去,就在当前脚本获取使用- -添加进去不代表加载完成

是的 没有加载完成 加载是一个异步的