Задать вопрос
@1kvin

[Unity3d] Как определить цвет где находится мышка?

Как определить цвет где находится мышка?2D игра использую Sprite'ы.
  • Вопрос задан
  • 983 просмотра
Подписаться 2 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 1
Lertmind
@Lertmind
Если изменить пример у WaitForEndOfFrame, в котором делают скриншот, то можно брать цвет только одного пикселя:
using UnityEngine;
using System.Collections;

public class ColorClick : MonoBehaviour
{
    Texture2D tex;
    //public Renderer test;

    void Start()
    {
        tex = new Texture2D(1, 1, TextureFormat.RGB24, false);
    }

    IEnumerator ReadPixelColor()
    {
        // We should only read the screen buffer after rendering is complete
        yield return new WaitForEndOfFrame();

        float x = Input.mousePosition.x;
        float y = Input.mousePosition.y;

        // Read screen contents into the texture
        tex.ReadPixels(new Rect(x, y, 1, 1), 0, 0);
        tex.Apply();

        Color color = tex.GetPixel(0, 0);
        //test.material.color = tex.GetPixel(0, 0);
        //Debug.Log(color);
    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            StartCoroutine(ReadPixelColor());
        }
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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