от
void DrawItemBackgroundColor(Rect bgRect)
        {
            if (Event.current.type == EventType.Repaint)
            {
                Color oldColor = GUI.color;
                GUI.color = new Color(255, 182, 193);

                var rect = bgRect;
                rect.height = Styles.headerBackground.fixedHeight;
                Styles.headerBackground.Draw(rect, false, false, false, false);

                rect.y  = rect.height;
                rect.height = bgRect.height 

Это должно изменить цвет на розовый:

GUI.color = new Color(255, 182, 193);
Но это ничего не делает. Но если я делаю:
GUI.color = Color.red; 
Это изменит его на красный, проблема в том, что у Color не все цвета, а только некоторые.              

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

2 Ответы

0 голосов
от
Для вашего случая:
GUI.color = new Color(255f/255f, 182f/255f, 193f/255f);
Диапазон значений цвета RGB составляет 0 ~ 1 Диапазон значений Color32 RGB составляет 0 ~ 255 Таким образом, вы можете использовать Color32 на 0 ~ 255 или использовать цвет на 0 ~ 1;     
0 голосов
от
Решение заключается в использовании Color32:
void DrawItemBackgroundColor(Rect bgRect)
{
    if (Event.current.type == EventType.Repaint)
    {
        Color oldColor = GUI.color; 
        GUI.color = new Color32(255, 182, 193,100);

        var rect = bgRect;
        rect.height = Styles.headerBackground.fixedHeight;
        Styles.headerBackground.Draw(rect, false, false, false, false);

        rect.y  = rect.height;
        rect.height = bgRect.height 

Эта линия окрашивает его в приятный светло-розовый цвет:

GUI.color = new Color32(255, 182, 193,100);
    
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...