2016-09-26 2 views
0

У меня есть кнопка пользовательского интерфейса в единстве, цвет которого я хочу изменить с помощью скрипта, но получить ошибку (Невозможно изменить возвращаемое значение типа значения `UnityEngine.UI.Selectable.colors '. сохраняя значение во временной переменной), когда вы вызываете метод изменения цвета кнопки при нажатии кнопки UI.Невозможно изменить цвет UIButton в единстве

КОД

public Button DrumButton; 

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

из Google на вашем сообщении об ошибке, и самый первый результат ... 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

Возможный дубликат [Unity Как изменить цвета кнопки 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

Смежные вопросы