“Sprite”组件对象无法修改颜色

  • Creator 版本: 3.7.1

  • 目标平台: 浏览器

  • 重现方式:

let node = new Node();

        let s = node.addComponent(Sprite);

        s.spriteFrame = this.lineSf;

        s.setEntityColor(new Color(0, 0, 0, 255));

        this.rootNode.addChild(node);

通过调用“Sprite”这个组件对象的“setEntityColor”方法去修改图片的颜色不起作用。直接修改“Sprite”这个组件对象的“color”属性又修改不了,因为这个属性是“只读”的,那我在这个版本里怎么修改图片颜色呢?

node.getComponent(Sprite).color = new Color(0, 0, 0, 255)
这样试下?

1赞

我试了下,你提供的方法可以。
我这边vscode里用鼠标停留在“node.getComponent(Sprite).color ”提示这个“ (property) UIRenderer.color: Readonly

@en — Main color for rendering, it normally multiplies with texture color.

@zh — 渲染颜色,一般情况下会和贴图颜色相乘。”,“Readonly”,所以之前我以为通过“.color=”的方式没办法赋值,没想到竟然可以。谢谢!