使用let node = cc.instantiate(prefab)创建一个节点后
需要运行脚本的init函数,执行一些初始化。
但是如果直接这样写,是不行的:
let arrow = cc.instantiate(this.arrow);
arrow.getComponent(“arrow”).init();
提示
我感觉是创建节点是需要一定时间的,马上执行初始化函数,可能脚本组件还没生效,所以根本找不到脚本组件。大家是怎么处理这种情况的?有不有什么好的实践?
使用let node = cc.instantiate(prefab)创建一个节点后
需要运行脚本的init函数,执行一些初始化。
但是如果直接这样写,是不行的:
let arrow = cc.instantiate(this.arrow);
arrow.getComponent(“arrow”).init();
提示
我感觉是创建节点是需要一定时间的,马上执行初始化函数,可能脚本组件还没生效,所以根本找不到脚本组件。大家是怎么处理这种情况的?有不有什么好的实践?
肯定是没找到“arrow”组件。
楼主是不是应该获取“Arrow”而不是“arrow”?
是区分大小写的,是类名,不是文件名。
感觉是组件名称或者调用的方法不存在
我经常这么写,就没问题
名字写错了吧。。。
看看你脚本的名字,另外,直接写脚本名字就行,不用加双引号
楼上说的都对~