根据此MSDN文章:“引发 MouseLeave 事件以响应对象边界区域外发生的触摸事件。”。但在实现中,我发现它在释放对象边界区域的点击时被触发(就像 OnMouseLeave 一样)。
那么如何在 UI 对象的边界外点击时让它触发呢?
根据此MSDN文章:“引发 MouseLeave 事件以响应对象边界区域外发生的触摸事件。”。但在实现中,我发现它在释放对象边界区域的点击时被触发(就像 OnMouseLeave 一样)。
那么如何在 UI 对象的边界外点击时让它触发呢?
我是 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
}
就去那一页读吧。它似乎之前回答了他们的问题。
祝你好运!