颜色改变了,透明度没改变

今天又遇到难题了:
import { _decorator, Component, Label, Node } from ‘cc’;

const { ccclass, property } = _decorator;

@ccclass(‘jbbqtmjb’)

export class jbbqtmjb extends Component {

public nTM;

public nMA;

public nMI;

public nSX;

public nSD;

start() {

    globalThis._sptmjb1 = this;

    this.nTM = 255;

    this.nMA = 255;

    this.nMI = 0;

    this.nSX = 0;

    this.nSD = 1;

    //this.node.getComponent(Sprite).color.set(0,0,0,63);

}

update(deltaTime: number) {

    if(this.nSX >= 0){

        if(this.nSX == 0){

            if(this.nTM <= this.nMI){

                this.nSX = 1;

                this.nTM = this.nMI;

            }else{

                this.nTM = this.nTM - this.nSD;

            }

        }else{

            if(this.nTM >= this.nMA){

                this.nSX = 0;

                this.nTM = this.nMA;

            }else{

                this.nTM = this.nTM + this.nSD;

            }

        }

        this.node.getComponent(Label).string = 'Label:' + this.nTM;

        this.node.getComponent(Label).color.set(this.nTM,255,0,this.nTM);

        //this.node.active = false;

        //this.node.active = true;

    }

   

}

onTMJB(pTM,pMA,pMI,pSX,pSD){

    this.nTM = pTM;     //Init Transparency

    this.nMA = pMA;     //Max Transparency

    this.nMI = pMI;     //Min Transparency

    this.nSX = pSX;     //Order Transparency

    this.nSD = pSD;     //Transparency Change Speed By Frame

}

}
今天写了这段代码,想让颜色和透明度随着变量改变,但运行起来颜色改变了,透明度没有改变。
this.node.active = false;
this.node.active = true;
如果将这两句放开,透明度会改变,但是这好像有点不对劲。
跪求大神解救! :pray: :pray: :pray:

使用 Label.color = new Color (r,g,b,a);
这样试试。

color 是 set 属性,需要 = 赋值来触发的。

这个不行 :cry: :cry: :cry:

我换成这样写:
this.node.getComponent(Label).color.r = this.nTM;
this.node.getComponent(Label).color.a = this.nTM;
依然是颜色改变,透明度不改变 :cry: :cry: :cry:

this.node.getComponent(Label).color = new Color(1,1,1,1)试试

先拖一个uiOPactiy组件上去,然后this.getcomponent(uiOpactiy).opactiy= 透明度,

这个可以哦,谢谢大神! :pray: :pray: :pray:
不过,弱弱的问一句,如果不停地new会不会不断增加内存?

这个可以,我给的那个不行? :rofl: 用户歧视啊这是

这个地方会增加内存,但是color之前引用的内存会被释放的。

正常来说不会,因为会gc,除非cocos有什么bug