我制作了一个Scrollview。当我滚动视图时,下面的场景也会响应。
如何使其仅在触摸GUI组件的区域时响应GUI事件
答案 0 :(得分:0)
private float scroll_value;
private Rect vscroll_rect = new Rect(0,0,100,100);
void OnGUI () {
scroll_value = GUI.VerticalScrollbar (vscroll_rect , scroll_value, 1.0f, 0.0f, 10.0f);
}
void Update() {
// Cursor is inside verticalscroll rect, ignore it
if (vscroll_rect.Contains(Input.mousePosition))return;
}
唯一的问题是,如果你在许多不同的脚本中有几个GUI元素,他们每个都需要测试Input.mouseCursor是否在GUI元素中。一个简单的方法是创建一个管理GUI rects的脚本,您可以从任何其他脚本调用它来检查。