Задать вопрос

Как изменить цвет объекта в Unity3d?

Пробовал изменить цвет разными способами, никак не мог взять компонент image, чтоб напрямую изменить цвет. Нашёл несколько вариантов, из них +- нашёлся тот, который не выдавал ошибок, но всё равно ничего не происходит. Мне нужно, чтоб в зависимости от уровня менялся цвет изображения. Что я не так делаю?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class LevelClick : MonoBehaviour
{

    public int Lvl;
    public int LvlNext;
    public int N;
    public GameObject Player;
    public GameObject Krug;

    public void Start()
    {
      Lvl = CharController.LVL;
        
    }
    public void OnMouseDown()
    {

        Debug.Log("Нажатие на кнопку уровня");
        if (Lvl == LvlNext)
        {
            SceneManager.LoadScene(N);
        }
    }
    public void Update()
    {
        if (Lvl > LvlNext)
        {
            Krug.GetComponent<Renderer>().material.color = Color.white;
            Debug.Log("смена на белый цвет кружка");
        }
        if (Lvl < LvlNext)
        {
            Krug.GetComponent<Renderer>().material.color = Color.black;
            Debug.Log("смена на черный цвет кружка");
        }
    }
}
  • Вопрос задан
  • 15436 просмотров
Подписаться 3 Простой 7 комментариев
Решения вопроса 1
@JoSlimTheBest
Если нужно изменить цвет спрайта, то используйте
GetComponent<SpriteRenderer>().color = new Color(1,1,1,1);


Если спрайт на Canvas то
using UnityEngine;
using UnityEngine.UI;

public class ChangeColor : MonoBehaviour
{
    public Color colorImage;
    void Start()
    {
       GetComponent<Image>().color = colorImage;
        
    }

    
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы