次はタイマーを作ってみたいと思います。
タイマーと一口に言っても、テキスト表示だけではストップウォッチと変わりません。
なので、いろいろと視覚的なタイマーを作ってみたいと思います。
タイマーの時間は、60秒からのカウントダウンで0になれば終了とします。
タイマーの視覚効果として、
・色変化
・プログレスバー
・アクション
この辺を盛り込んでみたいと思います。
できたものを動画にしてみました。
再生できない場合、ダウンロードは🎥こちら
それにしても目がチカチカする (@-@)
見て下さった方申し訳ないです。_(._.)_ ユルシテ
時間経過に合わせて、いろいろなタイマーを作ってみました。
各タイマーの作り方は、順次ブログに挙げる予定でっす。
今回の〆は、デジタルタイマーの作り方を

まず、スタート用のButtonオブジェクトと時間表示用のTextオブジェクトを用意します。
Textには、60.00と入力しておきます。
続いて、スクリプトを作成します。
TimerManager
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TimerManager : MonoBehaviour
{
//タイマー用変数
public float LimitTime; //タイマーの設定時間
private bool counting; //タイマー稼働フラグ
//デジタル表示
public GameObject DigitalText; //デジタル表示
private Text digetaltext; //デジタル表示コンポーネント
// Start is called before the first frame update
void Start()
{
//テキストコンポーネント取得
digetaltext = DigitalText.GetComponent<Text>();
}
// Update is called once per frame
void Update()
{
if (counting)
{
TimerCount();
}
}
//タイマー機能
void TimerCount()
{
//60秒から経過時間を引く
LimitTime -= Time.deltaTime;
DigitalDisplay();
//タイマーの停止
if (LimitTime <= 0)
{
counting = false;
}
}
//タイマーのデジタル表示
void DigitalDisplay()
{
digetaltext.text = LimitTime.ToString("F2");
}
//タイマースタート
public void PushStart()
{
counting = true;
}
テキストを書き換えるので、using UnityEngine.UI;を宣言。
説明する程でもないのですが、
LimitTimeからdeltaTimeを引いて、その値をテキストに代入しているだけです。
数値を文字列に変換する際、小数点以下を指定できるので、
F2で小数点以下2位まで文字化しています。

後は、LimitTimeの設定と
DigitalTextに表示用テキストオブジェクトをアタッチして、
スタートボタンにPushStart()メソッドを割り当てれば機能します。
数値表示のタイマーは、以上となります。
次回は、背景カラーのタイマーをまとめてみます。
・・・・・・・・~~~ヽ(^◇^))) ほな、さいなら!
この記事へのコメント