Получает GUI элемент в определенной позиции экрана.
Возвращает GUIElement в определенной точке экрана. Если screenPosition
внутри некого GUIElement,
этот элемент будет возвращен. Возвращает null
если позиция не находится внутри какого либо элемента.
GUI элементы, принадлежащие слою Ignore Raycast будут игнорироваться. Так, как будто их не существует.screenPosition
измеряется в координатах экрана, примерно как значения, возвращаемые свойством Input.mousePosition.
Важно: GUILayer.HitTest находит GUI компоненты только "старой школы"
(созданные с помощью классов GUIElement, GUITexture, GUIText, GUILayer),
и не работает с "новыми" элементами (которые упоминаются как "UnityGUI" и
made up of all the other GUIAnything classes, and the OnGUI() call).
Поэтому, если вы используете UnityGUI, HitTest ничего не возвратит.
See Also: GUIElement.HitTest, Input.mousePosition.
// Tests if the mouse is touching a GUIElement. // Add a GUITexture and put the mouse over it and // it will print the GUITexture name. private var test : GUILayer; test = Camera.main.GetComponent.<GUILayer>(); function Update() { if(test.HitTest(Input.mousePosition) != null) { Debug.Log(test.HitTest(Input.mousePosition).name); } }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { private GUILayer test; void Update() { if (test.HitTest(Input.mousePosition) != null) Debug.Log(test.HitTest(Input.mousePosition).name); } void Example() { test = Camera.main.GetComponent<GUILayer>(); } }