2016-09-26 83 views
0

我有一個統一的UI按鈕誰是我想通過腳本更改的顏色,但得到錯誤(無法修改`UnityEngine.UI.Selectable.colors'的值類型返回值。將該值存儲在臨時變量),當調用該方法在按下UI按鈕時更改該按鈕的顏色。無法更改統一的UIButton顏色

CODE

public Button DrumButton; 

public void DrumButtonClicked() 
    { 
     DrumButton.colors.normalColor = new Color(0.22f, 0.22f, 0.22f, 1f); 
    } 
+0

谷歌對你的錯誤信息,以及第一個結果... http://answers.unity3d.com/questions/792008/how-to-change-normal-color-highlighted- color-etc-i.html – Darren

+0

而第二個... http://forum.unity3d.com/threads/changing-the-color-of-a-button-in-script.344121/ – Darren

+2

可能的重複[團結如何通過腳本更改ui按鈕的顏色](http://stackoverflow.com/questions/38546130/unity-how-to-change-colors-of-ui-button-via-script) – Programmer

回答

-1

您不能直接改變顏色變量。這是由Unity管理的,他們不希望你這樣做。相反,你必須在改變它之前將它存儲在一個臨時變量中。試試這個:

ColorBlock drumColors = DrumButton.colors; 
drumColors.normalColor = new Color(0.22f, 0.22f, 0.22f, 1f); 
DrumButton.colors = normalColor; 
+0

不要回答重複的問題!閱讀評論。 – Programmer