制限時間でタイムアップすれば、TimeUpが表示されるカウントダウンタイマーを作成しましょう。
一度タイムアップの仕組みを作っておけば、いろいろな場面で活用できそうです。
関連記事:
制限時間になれば停止する
タイムアタックできる「カウントアップタイマー」
3つのオブジェクトを削除すればテキストを表示
タイマーによる成績で評価ランク
触れるとn秒間だけ停止してテキスト表示
TextMeshProを使用したタイムアップのしくみ
クリックするたびにタイマー作動
キー押下から押下までの秒数をはかる
制限時間になればButtonを表示
点数によるABC評価ランク
タイマーのテキスト
UI > テキストを作成します。
テキスト名をTimerにして、色、フォントサイズ、位置を変更します。
このように配置されました。
ここにタイマーを表示させるので、NewTextの文字は消しておきます。
タイムアップのテキスト
もう一つ、UI > テキストを作成します。
テキスト名はTimeUpTextに変更。
テキストに「TIME UP」を入れ、色、フォントサイズ、位置を変更します。
このように配置されています。
最後にTIME UPのテキストは消します。
カウントダウンタイマー
空のオブジェクトを作成します。
CountDown.csを作成して、GameObject(空のオブジェクト)に追加します。
CountDown.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class CountDown : MonoBehaviour { private float time = 3.0f; public Text timerText; public Text timeUpText; void Update() { if (0 < time) { time -= Time.deltaTime; timerText.text = time.ToString("F1"); } else if (time <= 0) { timeUpText.text = "TIME UP"; } } } |
UIテキストを扱う場合、using UnityEngine.UI; を忘れずに書いておきましょう。
フィールドが2つ出来るので、ここにTimer、TimeUpTextのテキストオブジェクトを入れます。
プレイしてみましょう。
3秒から時間が減っていき、0秒でタイムアップになります。
deltaTimeを減算させて、数値をtimeに入れています。
テキスト表示させる際、"F1"を使って小数第一位の表示にしています。
関連記事:
制限時間になれば停止する
タイムアタックできる「カウントアップタイマー」
3つのオブジェクトを削除すればテキストを表示
タイマーによる成績で評価ランク
触れるとn秒間だけ停止してテキスト表示
TextMeshProを使用したタイムアップのしくみ
クリックするたびにタイマー作動
キー押下から押下までの秒数をはかる
制限時間になればButtonを表示
点数によるABC評価ランク