start时node是有值的,但是其他位置调用时node为空

一时找不到这是什么原因
start() {

    console.log("fly start");

    this._BoxLst = this.mItemRoot.children;//(此时mFlyItemRoot是有子节点的)
}

public GeBox() {

    console.log(this._BoxLst, this.mItemRoot)//(其他脚本调用时,这两个值都为空了)

}

GeBox这个方法你是不是当成变量传到其他脚本了,然后调用GetBox方法的时候没有指定this对象

调用GetBox的时候是不是还没start

打印出来start已经执行了

是的 :sweat_smile:

请问要怎么才能避免这种情况呢

传的时候传getBox.bind(this)

刚刚理解错了,可能也是我举的例子不合适的缘故。

不清楚的点是:
a:脚本1调用脚本2的init()方法为脚本2进行了初始化data,再然后脚本1又调用了脚本2的另一个方法change(),change()里要用到data的数据,但此时data的数据为空,甚至脚本2的node也是null。
同样的流程,
第一次进入场景1时:脚本1调用脚本2的init()方法为脚本2进行了初始化data,再然后脚本1又调用了脚本2的另一个方法change(),change()里要用到data的数据,一切正常。退出场景1后再次进入场景1,就会发生 a

请问这是什么原因呢?