Unity长时间无操作判断
C#脚本
代码如下(示例):
using UnityEngine;
public class NoOperation : MonoBehaviour
{
public float TimeOffset = 4;//检测时间间隔
private float lasterTime;//上次的时间
private bool isOpenCheck = false;//是否检测
void Update()
{
if (Input.GetKey(KeyCode.J))
{
lasterTime = Time.time; //设置初始时间
isOpenCheck = true;
}
if (isOpenCheck == false)
return;
float nowTime = Time.time;
if (Application.isEditor)
{
if (Input.GetMouseButtonDown(0))
{
lasterTime = nowTime;//更新触摸时间
}
}
float offsetTime = Mathf.Abs(nowTime - lasterTime);
if (offsetTime > TimeOffset)
{
Debug.Log("无操作时间:" + offsetTime);
isOpenCheck = false;
}
}
}
使用
将该脚本挂载到任何一个空物体上即可