0

このMSDNの記事によると、「MouseLeave イベントは、オブジェクトの境界領域外で発生したタッチ イベントに応答して発生します。」. しかし、実装では、オブジェクトの境界領域でタップを放しているときにトリガーされていることがわかります(正確にはOnMouseLeaveのように)。

では、UI オブジェクトの境界の外側をタップしているときに発火させるにはどうすればよいでしょうか?

4

1 に答える 1

0

私は C# と StackOverflow を初めて使用しますが、見つけたものに貢献できると思いました。「」を Google で簡単に検索したところ、GUI 外でのクリックの検出に関するこの記事が見つかりました。

GUI上に描かれた長方形の外側のクリックを検出する簡単な方法/説明(リンクにあります)があります。「GUIウィンドウまたはグループ/エリアを使用する場合、Rectを使用してマウスが内側にあるかどうかを確認できます。」

Rect windowPos = new Rect(10,10,200,150);

    void OnGUI()
    {
        Event e = Event.current;
        windowPos = GUI.Window(0, windowPos, drawWindow, "MyWindow");

    if (e.type == EventType.MouseDown && !windowPos.Contains(e.mousePosition))
        {
             // Click was outside of the GUI window
        }
    }

    void drawWindow(int aID)
    {
        // draw the window content
    }

そのページを読んでください。以前の彼らの質問に答えているように見えました。

幸運を!

于 2013-10-20T20:21:05.843 に答える