疑问,对于getComponent 的使用非常困惑,组件和节点的关系似懂非懂!!!
节点的使用上没太大问题,但是getComponent 似乎只能获得本节点上的【本】身的组件(比如Label,自己的脚本中this指定的应该是组件,this.node才是节点)
问题来了,我在测试的时候,给Canvas添加了一个Button,当然Button节点(我的理解是Button本身是一个节点,上面有个Sprite组件)然后在他的子节点上有一个Label组件。
然后我给Button 添加组件UI,自己写个btn.js。想更改子节点的Label的string
具体怎么触发,我是做了按钮的点击触发的
var label = this.getComponent(cc.Label);
label.string ="改名咯";
结果报错label是null
当然我也测试过在 properties 里添加一个 type:cc.Node 的属性,把Label拖动到属性管理器的位置,用下面的方式可行
var label = this.lab.getComponent(cc.Label);
label.string=“改名咯”
我在这里想问的是:如果不再属性面板操作的情况下,该如何获取子节点的Label,甚至其他节点下的,比如canvas下的任意的组件呢??如果都要做拖动操作可能后期维护,或者对于自己程序的更新迭代似乎都有不小的管理麻烦把。