node的子对象问题。

新人一枚,请教大家一个问题。

我在场景中建立了两个空节点,分别为A和B。我在空节点A里建立了一个脚本。在脚本的properties里添加了一个C,type为cc.node。然后把B拉到这个cc.node里。然后我通过脚本动态添加了一个sprite。我想把这个sprite的父节点设置到B上。我 sprite.parent = C.node 就会报一个undefined is not an object。但如果我sprite.parent = cc.find(“B”) ,就没有问题。请问这是为什么。

因为你的C属性的类型已经是cc.Node了, 所以使用的时候直接使用C就行了, 不需要C.node

去掉也没有用,直接用当天的this.node也报错。都报undefined is not an object。

要先确定undefined指到是什么,建议这样写,加断点,看看:
cc.log(sprite.parent);
cc.log(C.node);// 这里确实不用node了。

另外,可能是编译器出了问题,你修改了代码,但执行的是之前缓存的。可以重新打开creator和vscode,再运行看看。

我打印了 sprite没有问题。打印c就报错。 我是这么定义的,我在脚本里定义了
tipList:{
default:null,
type:cc.Node,
},
这个脚本挂在scene的A空节点下。

然后我在scene里创建了一个空节点叫 _tipList(相当于B) ,把它拉到tiplist,打印这个this.tiplist和this.tiplist.addChild都报错 undefined is not an object (evaluating ‘this.tipList’),

是在 properties:{
},里定义的吗?