if (Input.GetMouseButtonDown (0) || (Input.touchCount > 0 && Input.GetTouch (0).phase == TouchPhase.Began)) {
#if UNITY_IPHONE || UNITY_IOS
if (EventSystem.current.IsPointerOverGameObject (Input.GetTouch (0).fingerId)) {
Debug.Log ("IPHONEuiover");
GameObject selectGo = EventSystem.current.currentSelectedGameObject;
if (selectGo != null) {
}
return;
}
#else
if (EventSystem.current.IsPointerOverGameObject ())
{
GameObject selectGo = EventSystem.current.currentSelectedGameObject;
if(selectGo!=null)
{
Debug.Log ("UIdown:" +selectGo.name);
}
return;
}
#endif
else
{
if (!canCalculateAbleAreaSize) return;
//Debug.Log ("射线检测");
ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, out hit)) {
//Debug.Log ("hitname" + hit.transform.name + " point:" + hit.point);
}
}
}
else if(Input.GetMouseButtonUp (0))
{
isClikingItem = false;
#if UNITY_IPHONE || UNITY_IOS
if (EventSystem.current.IsPointerOverGameObject (Input.GetTouch (0).fingerId)) {
Debug.Log ("IPHONEuioverUPUPUP");
GameObject selectGo = EventSystem.current.currentSelectedGameObject;
//Debug.Log ("selectGo");
if (selectGo != null) {
Debug.Log ("uioverUPUPUP:" + selectGo.name);
if (selectGo.name.Contains ("GridItem")) {
} else {
}
}
return;
}
#else
if (EventSystem.current.IsPointerOverGameObject ())
{
GameObject selectGo = EventSystem.current.currentSelectedGameObject;
//Debug.Log ("selectGo");
if (selectGo != null) {
Debug.Log ("uioverUPUPUP:" + selectGo.name);
if (selectGo.name.Contains ("GridItem")) {
}
else{
}
}
return;
}
#endif
else
{
if (!canCalculateAbleAreaSize) return;
}
}ugui 点击在ui和非ui的判断
最新推荐文章于 2025-02-28 23:21:03 发布
本文介绍了一个Unity中的脚本片段,该脚本用于处理触摸输入与UI交互,并实现射线检测来判断鼠标点击的对象。代码展示了如何根据不同平台(如iOS和其他设备)调整UI元素的选择逻辑,同时使用射线投射来检测场景中的对象。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Facefusion
AI应用
FaceFusion是全新一代AI换脸工具,无需安装,一键运行,可以完成去遮挡,高清化,卡通脸一键替换,并且Nvidia/AMD等显卡全平台支持
4238

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



