待机切换场景

有些时候,有这样的需求,在一个场景中需要等待N秒后切换到另一个场景,怎么写代码呢?

进入正文:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;

/// 
/// 待机切换场景
/// 
public class SelfMotion : MonoBehaviour
{
    private float runningTime = 10f;//程序运行时间
    private float StandbyTime = 270f;//无操作时间(待机时间)

    [HideInInspector]
    public bool standby = false;//是否处在待机状态

    public bool startCountTime = false;//是否可以统计待机时间
    private int standbyTime = 0;//待机时间
    private int time = 0;//帧数,用于统计待机时间
    private Vector3 prevMousePos = Vector3.zero;//鼠标上一帧所处的位置
    /// 
    /// 程序首次运行时,等待十秒钟开始统计待机时间
    /// 
    /// 
   
   
    IEnumerator StartPrepareStandby()
    {
        yield return new WaitForSeconds(runningTime);
        startCountTime = true;//开始统计待机时间
    }
    void Start()
    {
        //调用开始统计待机时间的协程
        StartCoroutine(StartPrepareStandby());
    }
    void FixedUpdate()
    {
        if (startCountTime)
        {//待机状态
            if (Input.mousePosition == prevMousePos)
            {//判断鼠标是否移动
                time++;
            }
            else
            {
                //鼠标移动情况下,重置待机时间和帧数
                standbyTime = 0;
                time = 0;
            }
        }
        if (time >= 50)
        {
            time = 0;
            standbyTime++;//待机秒数
        }
        if (standbyTime > StandbyTime)
        {
            //待机时间超过N秒则开始进入另一个界面(我的是默认返回首页)
            Application.LoadLevel(0);
        }
    }
    void Update()
    {
        if (Input.GetMouseButtonUp(0))
        {//鼠标抬起开始判断是否处于待机
            startCountTime = true;
            prevMousePos = Input.mousePosition;
        }      
        //记录每一帧的鼠标位置
        prevMousePos = Input.mousePosition;
    }
}

好了,就是这样的。因为LZ的场景需要等待4分半,所以用了270这个数。。。
LZ只是一枚小菜鸟,有什么需要改进的,请大牛留下指导,多多提意见!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值