0
根據此MSDN文章:「MouseLeave事件是響應在對象的邊界區域外發生的觸摸事件而引發的。」但在實現中,我發現它在觸發對象的邊界區域時觸發(正如OnMouseLeave一樣)。何時觸發MouseLeave事件?
那麼如何在UI對象邊界之外點擊時觸發它?
根據此MSDN文章:「MouseLeave事件是響應在對象的邊界區域外發生的觸摸事件而引發的。」但在實現中,我發現它在觸發對象的邊界區域時觸發(正如OnMouseLeave一樣)。何時觸發MouseLeave事件?
那麼如何在UI對象邊界之外點擊時觸發它?
我是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
}
只需在該頁面上閱讀即可。它似乎回答了他們之前的問題。
祝你好運!
由於我有很多嵌套的UI元素(動態創建),我不需要爲此做的工作,我需要超出每個邊界點擊檢測。我想知道是否可以讓MouseLeave事件像預期的那樣工作。 – Aditya