@1kvin

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

Как определить цвет где находится мышка?2D игра использую Sprite'ы.
  • Вопрос задан
  • 955 просмотров
Решения вопроса 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());
        }
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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