比如一个节点,在保持active=true的前提下,做到节点以及子节点都不渲染,没有drawcall,节约性能,最佳的方法是什么呢?
node._renderFlag &= ~cc.RenderFlow.FLAG_DONOTHING;
node._renderFlag |= cc.RenderFlow.FLAG_DONOTHING;
for (const children of node.children) {
const renders = children.getComponentsInChildren(UIRenderer);
if (renders && renders.length) {
for (const render of renders) {
render.enabled = enabled;
}
}
}
enabled 表示渲染打开还是关闭
1赞
很高端的样子,我研究下~ 直接写代码飚红很难受
厉害,好使
,我多测测
这个UIRenderer是什么组件,是用户自己手动添加的么?
不知道这种满足你的需求不
透明度改为0是不渲染的,但是看不到节点了
2.x可以把opacity设置为0,dc为0,是比较常用的做法,不知道3.x行不行
渲染组件。底层的。sprite等都继承自它。
mark 一下
我也这样,不过原生不知怎么弄
好原生的找到了,可以用 node._proxy.enableVisit(visible);
给节点加个UIOpacity组件,然后把opacity设置为0就行了