1. 子节点获取父节点的脚本出错
不细心、懒得深入思考导致的问题
问题描述: CharacterShowPanel 是通过运行时加载到场景中,Image的脚本中要获取这个panel的脚本,就出现如下的问题。
开始以为是获取这个panel时,这个panel还没实例化完成,其实这个疑问错误的可以直接排除。
事件函数执行的时间点:https://blog.csdn.net/clyang92/article/details/51580527
Start:只要脚本实例被启用了Start()函数将会在Update()函数第一帧之前被调用。
所以说这里获取的panel是已经实例化ok的
Gameobject.Find()是默认场景为根节点开始查找,说代码中的 Find()路径里少了Canvas,改成如下就没问题了
GameObject.Find("Canvas/CharacterShowPanel")
2. 对象脚本获取不到自身的某个组件(可能是有脚本挂错位置)
这个RoleEquipItem对象是我动态添加的,获取button组件为空,为毛?
原因是图一蓝色框中,Helm、Cloth、Weapon等几个本来是记录位置的,不知何时挂载了这个RoleEquipItem脚本,而这几个对象中正好无button组件,所以就获取不到了。。。。