using UnityEngine;
public class LongTimeNoInput : MonoBehaviour
{
public float maxTimeOffset = 180;//检测时间间隔
public float lasterTime;
public float nowTime;
private float offsetTime;
private void Start()
{
//初始上次操作时间为程序开始时间,之后随进行操作时更新
lasterTime = Time.time;
//挂有这个这个脚本的物体不随其他情况发生销毁,持续保留
DontDestroyOnLoad(this);
}
void Update()
{
//记录更新当前时间
nowTime = Time.time;
//将“最后一次操作时的时间”更新为这次操作时的时间
if (Input.anyKey) lasterTime = nowTime;
//比较此时和最近一次操作的时间间隔,判断无操作时间是否超过指定时长
offsetTime = Mathf.Abs(nowTime - lasterTime);
if (offsetTime > maxTimeOffset) TakeFun();
}
/// <summary>
/// 如果长时间不操作,执行该行为
/// </summary>
public void TakeFun()
{
Debug.Log("长时间无操作 offsetTime");
BaseUIManager.Instance.OpenPanel(UIConst.StartPanel);
BaseUIManager.Instance.ClosePanel(UIConst.MainPanel);
}
}
unity 长时间未操作
最新推荐文章于 2024-08-21 17:25:45 发布