@UlianaSem

Как реализовать изменение цветовой схемы (типа светлая/темная тема) в приложении, написанном на Unity?

Я совсем недавно начала изучать Unity. У меня в приложении несколько цветовых схем. Как сделать, чтобы пользователь мог выбирать в настройках, какую схему ему применить? Как реализовать изменение цветовой схемы (должен меняться цвет кнопок, панелей) в приложении?
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 1
@DrRen7
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class MenuColor : MonoBehaviour
{
    [SerializeField] Image _backGround; //Добавляем фон в инспекторе
    [SerializeField] List<Button> _buttons; //добавляем кнопки в инспекторе
    private void Start()
    {
        DarkMode();
    }
    public void DarkMode()
    {
        _backGround.color = Color.black;                                           // Меняет цвет бекграунда
        for(int i=0;i<_buttons.Count;i++) 
        {
            _buttons[i].GetComponent<Image>().color = Color.white;                          // обводка кнопки 
            _buttons[i].transform.GetChild(0).GetComponent<Image>().color = Color.black;    //цвет кнопки 
            TextMeshProUGUI text = _buttons[i].transform.GetChild(1).GetComponent<TextMeshProUGUI>();//цвет шрифта кнопки
           text.color = Color.white;
            text.faceColor=Color.white;
        
        }
    }
    public void WhiteMode()
    {
        _backGround.color = Color.white;
        for (int i = 0; i < _buttons.Count; i++)
        {
            _buttons[i].GetComponent<Image>().color = Color.black;
            _buttons[i].transform.GetChild(0).GetComponent<Image>().color = Color.white;
            TextMeshProUGUI text = _buttons[i].transform.GetChild(1).GetComponent<TextMeshProUGUI>();
            text.color = Color.black;
            text.faceColor = Color.black;
        }
    }
}

Кнопка (родительский объект стандартная кнопка, 1 изображение чучуть меньше кнопки 2 дочерний текст )
66857e14a77e3957747932.png
Итого
66857f375f7a3004009123.png

цвет можно задавать через числа new Color32(255,0,0,255)(это красный) rgb и альфа
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы