Unity3d在光标位置打开编辑器窗口

时间:2019-06-08 17:33:37

标签: unity3d unity-editor

我有一个简单的问题。我想统一打开一个编辑器窗口,并使其左上角位于光标的位置。我尝试将EditorWindow.position设置为Event.current.mousePosition,但这没有产生任何结果。

Event.current.mousePosition的原点似乎在最后一个窗口(检查器等)的左上方。

有帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以这样处理(经过测试,可以正常工作):

public class MyWindow : EditorWindow
{
  bool initializedPosition = false;

  ...

  void OnGUI()
  {
    if (!initializedPosition)
    {
        Vector2 mousePos = GUIUtility.GUIToScreenPoint(Event.current.mousePosition);
        position = new Rect(mousePos.x, mousePos.y, position.width, position.height);
        initializedPosition = true;
    }

    ...
}