Вывод текстуры на активном объекте

using UnityEngine;
using System.Collections;

public class Hand : MonoBehaviour
{
public float MaxDistance = 1.5f;
public Texture2D CursorTexture;
public bool cursorenter;
public bool cursortut;
// Use this for initialization
void Start ()
{
}
void Update ()
{
if(cursortut == true)
{
GameObject player = GameObject.FindGameObjectWithTag("Player");
if(Vector3.Distance(transform.position, player.transform.position)<MaxDistance)
{
cursorenter = true;
}
else
{
cursorenter = false;
}
}

}
void OnMouseEnter()
{
cursortut = true;
}
void OnMouseExit()
{
cursortut = false;
cursorenter = false;
}
void OnGUI ()
{
if(cursorenter == true)
{
GUI.DrawTexture(new Rect(Screen.width/2-40,Screen.height/2-40,80,60), CursorTexture);
}
}
}

Комментарии к этому посту

  • Сергей
    24.12.2013 at 19:50

    ошибка
    19 if(Vector3.Distance(transform.position, player.transform.position)<MaxDistance)

    я так понимаю что
    19 if (Vector3.Distance(transform.position, player.transform.position) < MaxDistance)


  • Visochestvo
    12.02.2014 at 02:32

    Этот же проверенный скрипт, сделанный по видео, а не скопированный

    using UnityEngine;
    using System.Collections;

    public class Hand : MonoBehaviour
    {
    public bool cursorEnter;
    public Texture2D CursorTexture;
    public float MaxDistance = 2;
    public bool Distance;

    void Update ()
    {
    if (cursorEnter == true)
    {
    GameObject player = GameObject.FindGameObjectWithTag («Player»); //Проверка дистанции
    if (Vector3.Distance (transform.position, player.transform.position) < MaxDistance)
    {
    Distance = true; //Если дистанция правильная
    }
    else //Иначе
    {
    Distance = false; //Если дистанция неправильная
    }
    }
    }

    void OnMouseEnter() //Курсор внутри
    {
    cursorEnter = true; //То курсор включен
    }
    void OnMouseExit() //Курсор не внутри
    {
    cursorEnter = false; //То курсор выключен
    Distance = false;
    }
    void OnGUI ()
    {
    if (Distance == true) //Если курсор находится внутри, выводим текстуру
    {
    GUI.DrawTexture (new Rect (Screen.width / 2 — 40, Screen.height / 2 — 40, 80, 60), CursorTexture); //Вывод текстуры на экран
    }
    }
    }


  • Александр
    01.03.2014 at 01:03

    А как тогда закрепить курсор по центру? Ведь он первоначально летает по экрану…


  • Сергей
    04.07.2014 at 01:27

    Ребята, помогите….
    Вот тут застрял:
    .
    .
    .

    {
    GameObject player = GameObject.FindGameObjectWithTag («Player»); //Проверка дистанции
    if (Vector3.Distance (transform.position, player.transform.position) < MaxDistance)
    {
    .
    .
    .
    вот чего пишет: error CS0029: Cannot implicitly convert type `UnityEngine.GameObject[]' to `UnityEngine.GameObject'


  • WoYsFuL
    14.07.2014 at 20:20

    хахаха а что у тебя винлокер на рабочем столе делает ?



Оставить комментарий