一定時間操作しなかった場合タイトルに戻るコード

そのまま

using System.Collections;
using System.Collections.Generic;
using UnityEngine.SceneManagement;
using UnityEngine;

public class ExhibitionCountTimer : MonoBehaviour
{

    //リセット用のタイムカウント
    private float step_time;

    void Start()
    {
        //時間の初期化
        step_time = 0.0f;
    }

    void Update()
    {
        //経過時間のカウント
        step_time += Time.deltaTime;

        var horizontal = Input.GetAxis("Horizontal");

        //2分間操作しなかった場合はリセット処理を実行する
        if (step_time > 120.0f)
        {
            ResetGame();
        }

        //ジャンプボタンの入力
        if (Input.GetButtonDown("Jump"))
        {
            //Debug.Log("jump");
            step_time = 0.0f;
        }

        //ダッシュボタンの入力
        if (Input.GetButtonDown("Fire1"))
        {
            //Debug.Log("dash");
            step_time = 0.0f;
        }

        //左右移動の入力
        if (horizontal < 0 | horizontal >0)
        {
            //Debug.Log("horizontal");
            step_time = 0.0f;
        }
    }

    //リセット処理
    void ResetGame()
    {
        SceneManager.LoadScene("Title_b");
    }
}

使用している「Momi」は横スクロールアクションなのでJumpやHorizontalで十分ですが、RPGなどはVerticalの数字やその他の入力も判定を取った方が良いかもしれません。

作りとしては大分雑ですが"一定時間操作しなかった場合タイトルに戻る"役割は十分果たしてくれます。

このスクリプトをくっ付けたゲームオブジェクトをPrefab化して必要なSceneに配置しました。

展示用にBuildしたい時だけActiveにすれば配置されたSceneで効力を発揮してくれます。楽!


この記事が気に入ったらサポートをしてみませんか?