onload :


错误:
图1中的this.signUpView是一个在属性面板里定义的Node,我会在脚本里控制active.
但是在切换场景后的事件监听里变成null了(导致null引用错误)(arguments[0].target._scene._children[0].getComponent(‘signup-ctrl’).signInView还是node)。
这个该怎么弄??写this.signInView按说没问题呢
onload :


错误:
图1中的this.signUpView是一个在属性面板里定义的Node,我会在脚本里控制active.
但是在切换场景后的事件监听里变成null了(导致null引用错误)(arguments[0].target._scene._children[0].getComponent(‘signup-ctrl’).signInView还是node)。
这个该怎么弄??写this.signInView按说没问题呢
var self = this;
cc.dir…{
self.sign…
} 这样试试
切换场景后,节点就销毁了,属性值当然就没了
不对啊,我
先loadScene(a),节点属性在(IDE属性面板里定义的)。
再loadScene(b)
再loadScene(a),节点属性没了。(我指的是这一步节点属性没了!!!!,没了我上哪儿弄???)
1.5.2
那就是你属性面板里定义的 node,所在的场景被切换掉了,所以 node 被销毁了。你可以用 node.isValid 判断是不是被销毁了。
我觉得你没仔细看图片
你说销毁了
我后来又load这个Scene了呀,在scene的按钮事件回调函数里,
cc.director.on(’’,()=>{
1、e.target._scene._children是里有这个节点的(不为null)
2、this.node._children里这个节点是null了。
})
难道同一个场景,第2次加载和第1次加载,事件回调函数这里应该有区别么?我看是个bug
我用的是类似example-cases/05_scripting/01_properties/nonserialized.fire的做法,在scene节点里添加了script组件,并把某些节点拖到script组件属性里去
你后来又 load,那就是另一个场景了,和原来的无关,我总不能把已经销毁的节点的引用,重新还原出来吧……