⏰
Unityで3分の制限時間を追加し、カウントダウンをする方法
使用OS
Mac
本記事で使用しているUnityバージョン
Version 2020.3.18f1
やりたいこと
- Unityの画面上に残り時間をカウントダウンする文字列を表示する
- 制限時間が3分の場合、「03:00」で始まり、「02:59」→「00:00」となる
方法
- Textを追加し、ちょうどいい位置・フォントサイズに調整
- 下記のスクリプトを作成し、Textにアタッチ
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TimeCounter : MonoBehaviour
{
public int countdownMinutes = 3;
private float countdownSeconds;
private Text timeText;
private void Start()
{
timeText = GetComponent<Text>();
countdownSeconds = countdownMinutes * 60;
}
void Update()
{
countdownSeconds -= Time.deltaTime;
var span = new TimeSpan(0, 0, (int)countdownSeconds);
timeText.text = span.ToString(@"mm\:ss");
if (countdownSeconds <= 0)
{
// 0秒になったときの処理
}
}
}
- ゲームを開始すると、以下のようになる
補足
- countdownMinutesに「制限時間を何分にしたいか」を設定します。ここではデフォルトを3分としています。
- countdownSecondsは実際の秒数です。指定しているのは分なので、60をかけています。制限時間が1分以内であれば、直接秒数を指定してください。
- 「"mm:ss"」のところは各自ゲームに合わせてカスタムしてください。
参考
こちらを参考にさせていただきました。ありがとうございました。
Discussion