【已解决】cocostudio一个层加在另一个层上的问题

我先编辑了一个层叫 layer1,然后我生成一个层叫layer2 , 接着我把layer1 整个拖到layer2中

然后我代码这样写

var thisLayer = ccs.load(res.json_Layer2).node
this.addChild(thisLayer);

显示正常,但是编辑器出现
parser does not exist : AnchorPoint

我看了下工程,一个layer拖到另一个layer时确实是没有描点的,这个时候类型本来是layer的layer1,变成了Node

最奇葩的是,我用
var Layer1 = ccui.helper.seekWidgetByName(thisLayer, “Layer1”);
if (Layer1) {
cc.log(“Layer1 here 223”);
}
这个seekWidgetByName居然不能找到这个Layer1的层!!!

我又用
var arrayRootChildren = thisLayer.getChildren();
var length = arrayRootChildren.length;
for (var i = 0; i < length; i++) {
var child = arrayRootChildren*;
var tmpName = child.getName()
cc.log(i+","+tmpName);
}
这样子可以输出0,Layer1也就是说这个层还是他儿子

怎么破,这种层嵌套的貌似已经丢失了Widget的东西,变成Node了吗

最主要是这个seekWidgetByName失效了:6: 大家是怎么做的?

------分割线----

已解决,实际上就是在编辑的时候区分好是node还是widge,蛋疼

我用 getChildByName(“Layer1”); 能找到了,但是ccui的东西代码不统一的吗,我还得自己区分是node还是widge?
*

你好,请问js版本和studio分别是多少?我需要测试,谢谢!

关于UIHelper的两个自动递归获取节点的函数
http://www.cocoachina.com/bbs/read.php?tid-270535.html

我看了下说的是一样的东西…主要是这个节点下有node又有Widget的时候不能简单的用seekWidgetByName这个函数

可能上面我说的不够清楚,我创建一个layer1.csd 又建一个layer2.csd然后把layer2.csd拖入1中
它自动变成ProjectNode_1这个节点,类型自动转成了Node,我改名成layer2,

此时我在layer1中用seekWidgetByName找 layer2 找不到,因为它变Node了

同样的用seekWidgetByName找layer2下的子物体也找不到

用getchildbyname试试

实际上就是在编辑器的时候就要区分好是node还是Widget,不然一味的用seekWidgetByName是不行的

:13::13::13: 我建议在以后的版本中seekWidgetByName扩展成也能搜索Node节点的,

或者是说你这种layer2拖到layer1中之后类型仍然是widget,不能瞬间变node类型了:13::13: