无法修改`UnityEngine.Material.color'的值类型返回值以更改游戏对象的alpha

时间:2015-09-21 06:38:19

标签: unity3d

我遇到了这个问题,虽然这只是为了改进我的代码我可以让游戏对象改变它的alpha我只是想让它更简单。

这是我的代码:

SpriteRenderer go;
Color colora;
float x = 0f;
void Start () {
    go = GetComponent<SpriteRenderer> ();


}

// Update is called once per frame
void Update () {
    colora = new Color(255f,255f,255f,.5f);
    go.material.color.a = colora.a;
}

这是错误之一。只是为了使这段代码更简单。

1 个答案:

答案 0 :(得分:1)

Color是一个结构,它是valueType。

go.material.color // it will return a copy of Color

你必须制作另一个Color实例然后再分配给go.material.color

go.material.color = new Color(255f,255f,255f,.5f);