比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分。为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上。 以前NGUI的时候都是自己来发送射线判断,现在UGUI好了系统提供了更为简便的方法。
#if UNITY_ANDROID && !UNITY_EDITOR
#define ANDROID
#endif
#if UNITY_IPHONE && !UNITY_EDITOR
#define IPHONE
#endif
using UnityEngine;
using UnityEngineUI;
using SystemCollections;
using UnityEngineEventSystems;
public class NewBehaviourScript : MonoBehaviour {
// Use this for initialization
void Start () {
}
void Update()
{
if (InputGetMouseButtonDown(0)||(InputtouchCount >0 && InputGetTouch(0)phase == TouchPhaseBegan))
{
#if IPHONE || ANDROID
if (EventSystemcurrentIsPointerOverGameObject(InputGetTouch(0)fingerId))
#else
if (EventSystemcurrentIsPointerOverGameObject())
#endif
DebugLog("当前触摸在UI上");
else
DebugLog("当前没有触摸在UI上");
}
}
}
在Unity中,可以在Update或者其他更新函数中使用Input接口来获取用户对于输入的控制
你可以使用下面三种方式
InputGetMouseButton(n)
GetMouseButtonDown(n)
GetMouseButtonUp(n)
括号中的n的含义如下:
0:左键
1:右键
2:中键
以上就是关于unity 怎么识别鼠标点击在ui上全部的内容,包括:unity 怎么识别鼠标点击在ui上、unity3d怎么判断鼠标左键输入、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)