3.x 字体如何置灰

cocos creator 3.6 字体如何置灰?字体有添加 LabelOutline 组件

node.grayScale = true;

这个 grayScale 好像 Sprite 组件才有, Label 组件是没有这个属性的

this.node.getComponent(Label).color = Color.GRAY;

        this.node.getComponent(LabelOutline).color = Color.GRAY;

那如果要把这个 Label 的颜色还原回原本的颜色的话是不是得重新赋值原来的颜色

是的 :rofl:

这个有点小麻烦,不像图片置灰一样简单粗暴

如果子节点有多个Label,每个Label的颜色都不同的话,那置灰再还原就很得很麻烦,还是希望 cocos 出一个好点的功能

  #if IS_GRAY
    float gray  = 0.2126 * o.r + 0.7152 * o.g + 0.0722 * o.b;
    o.r = o.g = o.b = gray;
  #endif

你可以参考sprite的实现,自己搞个shader,就可以像sprite一样置灰了

你这能力和你名字不匹配啊,哪里像菜鸡

多谢大佬,我试试

做游戏不能养家糊口发家致富,那不就是小菜鸡么

哈哈哈,自谦了