2013-10-20 88 views
0

根據此MSDN文章:「MouseLeave事件是響應在對象的邊界區域外發生的觸摸事件而引發的。」但在實現中,我發現它在觸發對象的邊界區域時觸發(正如OnMouseLeave一樣)。何時觸發MouseLeave事件?

那麼如何在UI對象邊界之外點擊時觸發它?

回答

0

我是C#和StackOverflow的新手,但我想我可能會貢獻我發現的東西。我做了一個Google搜索「」,發現this article關於檢測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 
    } 

只需在該頁面上閱讀即可。它似乎回答了他們之前的問題。

祝你好運!

+0

由於我有很多嵌套的UI元素(動態創建),我不需要爲此做的工作,我需要超出每個邊界點擊檢測。我想知道是否可以讓MouseLeave事件像預期的那樣工作。 – Aditya