cc.instantiate(prefab)后,怎么初始化?

使用let node = cc.instantiate(prefab)创建一个节点后

需要运行脚本的init函数,执行一些初始化。

但是如果直接这样写,是不行的:

let arrow = cc.instantiate(this.arrow);
arrow.getComponent(“arrow”).init();

提示

我感觉是创建节点是需要一定时间的,马上执行初始化函数,可能脚本组件还没生效,所以根本找不到脚本组件。大家是怎么处理这种情况的?有不有什么好的实践?

肯定是没找到“arrow”组件。
楼主是不是应该获取“Arrow”而不是“arrow”?
是区分大小写的,是类名,不是文件名。

感觉是组件名称或者调用的方法不存在

我经常这么写,就没问题

名字写错了吧。。。

看看你脚本的名字,另外,直接写脚本名字就行,不用加双引号

楼上说的都对~