鼠标的双击相对比较简单,百度一下可以搜到很多,如下:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class MJCard : MonoBehaviour,IPointerClickHandler {
float t1;
float t2;
public void OnPointerClick(PointerEventData eventData)
{
if (eventData.clickCount == 2)
{
Debug.log("双击");
}
}
}
上面是双击屏幕的事件,假如想双击某个物体呢,就要这样:
意思就是,当鼠标进入你想点击的物体后,双击才有效果,否则鼠标未进入物体,或者exit时,b = false,双击无效果。
下面是移动设备上触屏的双击:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class MJCard : MonoBehaviour,IPointerClickHandler {
float t1;
float t2;
public void OnPointerClick(PointerEventData eventData)
{
t2 = Time.realtimeSinceStartup;
if (t2 - t1 < 0.2)
{
Debug.log("双击");
}
t1 = t2;
}
//或者
private float t1;
private float t2;
void Update(){
if(Input.GetMouseButtonDown(0)){
t2 = Time.realtimeSinceStartup;
if(t2 - t1 < 0.2){
print("double click");
}
t1 = t2;
}
}
}
我在一篇博客看到过移动端GetMouseButtonDown是有效果的,所以这样利用t1,t2,记录两次单击的时间间隔,假如小于0.2s,则被判断为双击。
同样,移动端点击某一确定物体的双击事件,把下面脚本赋给要点击的物体,
参考: http://blog.csdn.net/khdhzdx/article/details/36870945