MouseLeave 事件的确切触发时间
本文关键字:时间 事件 MouseLeave | 更新日期: 2023-09-27 18:36:12
根据这篇 MSDN 文章:"引发 MouseLeave 事件是为了响应在对象的边界区域之外发生的触摸事件。但是在实现中,我发现它在释放对象边界区域的点击时被触发(与OnMouseLeave完全相同)。
那么如何在点击 UI 对象的边界外时触发它呢?
我是C#和StackOverflow的新手,但我想我可能会贡献我的发现。我在谷歌上快速搜索了",找到了这篇关于检测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
}
只需阅读该页面即可。它似乎回答了他们的问题。
祝你好运!