C# 设置Unity SpriteRenderer颜色使精灵不可见/消失

C# 设置Unity SpriteRenderer颜色使精灵不可见/消失,c#,mono,unity3d,C#,Mono,Unity3d,我有一个类似这样的类: public class ColorSwap : MonoBehaviour { public Color color; void Start(){ this.getComponent<SpriteRenderer>().color = color; } } 公共类颜色交换:单一行为 { 公共色彩; void Start(){ this.getComponent().color=color; } } 我已在检查员处

我有一个类似这样的类:

public class ColorSwap : MonoBehaviour
{
    public Color color;

    void Start(){
        this.getComponent<SpriteRenderer>().color = color;
    }
}
公共类颜色交换:单一行为
{
公共色彩;
void Start(){
this.getComponent().color=color;
}
}
我已在检查员处设置了颜色。我可以看到它被设置好了

我试着用 this.getComponent().color=color


具有讽刺意味的是,“color”结构自动初始化为color(0,0,0,0)

在颜色选择器中更改颜色时,色调会更改,但Alpha不会更改


所以,即使我认为我把它设置为(1.0,0,0),它实际上被设置为(1.0,0,0)

使用
Color
:每个参数应在
0..1
范围内,而不是
0..255
范围内。例如,请参阅--黄色变量是一个很好的示例。如果您想要0..255个值,请使用Color32而不是Color。我认为实际值与答案无关,但感谢您指出这一点。我已经编辑了这个问题D