1.6.1 设置active的问题

label 你定义的是 cc.Label 这个是一个组件
cocos 你定义是 cc.Node 这个已经是节点了

    this.cocos.node.active = false;

这里不需要再.node来拿到组件上面的节点

懂了,可是设置button的active属性还是不行。

还有这个问题,之前这样写是有效果的,但是现在没作用了

这个没有大佬来解释一下吗,button设置不了active。还是只有我碰到这种情况了

不可能设置无效啊

第一个你先看是否对象是 node
第二个是不是其他地方的代码设置了

最好自己调试一下,很快的 Chrome,打开控制台,打个断点

错了,this.nodeLayout.children这个是.nodeLayout节点下的所有孩子节点,这样遍历不好,因为某些操作会引起下标变化

就比如你在这个遍历里,删除了一个节点,那整个children数组就会变化,之前的下标顺序也会变,这个数组是动态的

还有active是node的属性,其他东西没有这个属性

只是用来做显示和隐藏没有做删除动作,而且我疑惑的在于之前是可以的。但是在我没修改任何代码的时候运行在chrome上面报错了

active=false,layout组件里可能就不包括这个节点了

你这个属于隐患,之前没报错不代表没错

button 本来就没这个属性

你可以在循环里多打印一些值显示出来,比如数组的总长度,节点的类型



可是这里确实是隐藏了呀。。

会不会是因为我type设置了Node才能设置成功

type改成BUTTON还是能隐藏

好吧,你说的 button 是一个 cc.Node。我以为是 cc.Button…

type改成BUTTON确实设置无效了,刚才改了以后没有重新拖控件。但是设置无效也没有报错,之前的项目是直接报错了

你要知道只有 Node 类型才有 active

这个我是知道的。。。谢谢大大帮忙回答