cocoscreator查找节点的方法 (跟jquery find一样)
var each = function(object, callback) {
var type = (function() {
switch (object.constructor) {
case Object:
return 'Object';
break;
case Array:
return 'Array';
break;
case NodeList:
return 'NodeList';
break;
default:
return 'null';
break;
}
})();
// 为数组或类数组时, 返回: index, value
if (type === 'Array' || type === 'NodeList') {
// 由于存在类数组NodeList, 所以不能直接调用every方法
[].every.call(object, function(v, i) {
return callback.call(v, i, v) === false ? false : true;
});
}
// 为对象格式时,返回:key, value
else if (type === 'Object') {
for (var i in object) {
if (callback.call(object[i], i, object[i]) === false) {
break;
}
}
}
}
function sousuojiedian(sousuowenzi) {
var jiedianlistss = cc.director.getScene().children;
var sousuonodelist;
each(jiedianlistss, function(key, value) {
if (value['name'] == sousuowenzi) {
sousuonodelist=value;
} else {
if (value['childrenCount'] > 0) {
each(value['children'], function(key, value) {
if (value['name'] == sousuowenzi) {
sousuonodelist=value;
} else {
if (value['childrenCount'] > 0) {
each(value['children'], function(key, value) {
if (value['name'] == sousuowenzi) {
sousuonodelist=value;
} else {
if (value['childrenCount'] > 0) {
each(value['children'], function(key, value) {
if (value['name'] == sousuowenzi) {
sousuonodelist=value;
} else {
if (value['childrenCount'] > 0) {
each(value['children'], function(key, value) {
if (value['name'] == sousuowenzi) {
sousuonodelist=value;
} else {
if (value['childrenCount'] > 0) {
each(value['children'], function(key, value) {
if (value['name'] == sousuowenzi) {
sousuonodelist=value;
} else {
if (value['childrenCount'] > 0) {
each(value['children'], function(key, value) {
if (value['name'] == sousuowenzi) {
sousuonodelist=value;
} else {
alert('找不到该节点');
return false;
}
})
}
}
})
}
}
})
}
}
})
}
}
})
}
}
})
}
}
})
return sousuonodelist;
}
cocoscreator查找节点的方法 (跟jquery find一样)
如果遇到什么不懂的地方直接关注公众号留言(本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。)
作者:newmiracle
出处:https://www.cnblogs.com/newmiracle/

浙公网安备 33010602011771号