之前用2D的时候,
只要修改父节点透明度,子节点也会透明
现在不跟随了,各管各的,
这样子太麻烦了
要是有几十个子节点怎么搞呢。
node.walk();
你好。我刚才看了这个,但是此节点下有不同组件怎么办呢?
有的是ButtonCom有的是LabelCom组件,组件不同名字也不名,该怎么统一设置透明度。
这样也不是解决办法呢吧?组件里还是应该有透明控制组件才行吧。。。。
因为都是继承 Component 组件的,所以可以这么写试试:
let comps= this.node.getComponentsInChildren(Component); comps.forEach((comp)=>{ let cp:Color = comp["color"]; if(cp) comp["color"] = color(cp.r,cp.g,cp.b,0); })
顺便一提 Unity 的UGUI 系统 有 CanvasGroup 组件 可以控制其下所有节点的透明的, 不知道官方会不会后面加上。
1赞
透明度是不是node.opacity吗?
和不同组件有关系吗
我也不清楚3d
好吧。如果用遍历要是有几十个,这执行有点费时。
希望官方能增加这块功能,要不然在UI里调整的时候也比较麻烦,还要单独调。
3D的跟2D的不一样,或者官方还没有加这块功能。
感谢反馈,会把这项功能列入计划,目前可以通过获取 UIRenderComponent 的方式来设置 color
1赞