2.0为什么要把tag删了 ? 这么好用的隐形专有属性 做引擎都是白学家? 自己做几个游戏试试 很多场合都会用到双属性 一个是固有用来搜索的属性 一个是可变用来做判断的属性

神一般的 引擎团队 没个决策的人?

觉得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赞