2015-09-21 23 views
0

我遇到了麻煩,儘管這只是爲了改進我的代碼,我可以讓遊戲對象將其更改爲alpha我只是希望它更簡單。無法修改`UnityEngine.Material.color'的值類型返回值以更改遊戲對象的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

顏色是一個結構,它是值類型。

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

你必須讓顏色的另一個實例,然後分配回go.material.color

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

呀這就是我所做的。我只想改變所有的alpha通道。反正做這樣的「asdasdd.color.a = 0F」 – VonnCC

+0

如果你想只改變阿爾法,那麼你必須要做到這一點 顏色C = go.material.color; c.a = newValue; go.material.color = c; – umirza47

+0

好的謝謝你的幫助:) – VonnCC