神一般的 引擎团队 没个决策的人?
觉得tag是挺有用的
自己加就是了,你可以写到引擎里看,或者动态加,TS 的话就写下 d.ts
你指的是这个吗:var child = node.getChildByTag(1001)
其实在Creator下很容易实现的,node只是一个Object,可以插入任意值,比如你可以写两个函数:
function setNodeTag(node, tag) {
node.__tag = tag
}
function getChildByTag(node, tag) {
for (let i = 0; i < node.childrenCount; ++i) {
let chNode = node.children[i];
if (chNode.__tag === tag) {
return chNode;
}
}
return null;
}
兄弟 在刚开始发现这个问题的时候我也是非常郁闷
但是 其实 引擎方 也提供了 解决方案 而且修改量不大 所以我也就略过了
现在所有的 node 可以通过一个 函数 如下:
var attrs = { key: 0, num: 100,tag:0 };
node.attr(attrs);
来设置你自定义的属性 设置以后 这个node 就有设置过的 属性了可以通过对象点tag 来使用了
js本来就是弱类型,你想怎么加属性都行
加tag自己实现大家大多数都懂,可是本身支持才是好的解决方案,不然自定义引擎或升级版本总要折腾
问题不在于自己实现tag,问题在于官方引擎组出于什么考虑,非要把tag删掉,怕是失了智吧。
2.0 为了优化性能去掉的。因为 js 属性越多性能就越低。建议用组件来实现 tag 的需求。
1赞