判断鼠标是否在NGUI的UI上,指定的UI需要添加BoxCollider
- //UICamera.isOverUI是判断鼠标是否在UI上点击
- if (UICamera.isOverUI)
- {
- //UICamera.hoveredObject判断的是鼠标是否在指定UI上
- if (UICamera.hoveredObject.name== "Texture")
- {
- //获取鼠标在屏幕的位置,(0,0)点在屏幕中心
- //Vector3 vec = UICamera.currentCamera.ScreenToWorldPoint(Input.mousePosition);
- //获取鼠标在屏幕位置,(0,0)点在屏幕左下角,(1,1)点在屏幕右上角
- // Vector3 vec = UICamera.lastTouchPosition;
- ////获取鼠标在屏幕位置,(0,0)点在屏幕左下角,(1,1)点在屏幕右上角
- Vector3 vec = UICamera.lastEventPosition;
- Debug.LogError(vec.x+"/"+vec.y+"/"+vec.z);
- }
- }
- //判断鼠标是否在进入UI上
- bool b = UICamera.Raycast(Input.mousePosition);
- if (b)
- {
- Debug.LogError(b + "点击到UI");
- }
- else
- {
- Debug.LogError(b + "没点到");
- }

本文介绍如何使用NGUI的UICamera组件判断鼠标是否在UI上进行点击或悬停操作,包括isOverUI和hoveredObject属性的使用,以及如何通过Raycast方法确认鼠标是否接触UI元素。
2773

被折叠的 条评论
为什么被折叠?



