Convert a point from screen space to GUI position.
Used for reconverting values calculated from GUIToScreenPoint
Note: In Unity the screen space y coordinate varies from zero at the top edge of the window to a maximum at the bottom edge of the window. This is different from what you might expect.
See Also: GUIUtility.GUIToScreenPoint.
// Check the difference between the mouse position (Screen) and
// the converted GUI positions because of the group.
function OnGUI () {
var screenPos : Vector2 = Event.current.mousePosition;
GUI.BeginGroup (Rect (10,10,100,100));
var convertedGUIPos : Vector2 = GUIUtility.ScreenToGUIPoint(screenPos);
GUI.EndGroup ();
Debug.Log("Screen: " + screenPos + " GUI: " + convertedGUIPos);
}
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
void OnGUI() {
Vector2 screenPos = Event.current.mousePosition;
GUI.BeginGroup(new Rect(10, 10, 100, 100));
Vector2 convertedGUIPos = GUIUtility.ScreenToGUIPoint(screenPos);
GUI.EndGroup();
Debug.Log("Screen: " + screenPos + " GUI: " + convertedGUIPos);
}
}
import UnityEngine
import System.Collections
class example(MonoBehaviour):
def OnGUI():
screenPos as Vector2 = Event.current.mousePosition
GUI.BeginGroup(Rect(10, 10, 100, 100))
convertedGUIPos as Vector2 = GUIUtility.ScreenToGUIPoint(screenPos)
GUI.EndGroup()
Debug.Log(((('Screen: ' + screenPos) + ' GUI: ') + convertedGUIPos))