Unityでタイマーを作ってみます
■完成イメージ
■UIの準備
uGUIを使っていい感じにボタンを配置する
■タイマー機能の実装
Time.deltaTimeを利用して残り時間から直前のフレームに要した時間を引く
残り時間が0になったらタイマーを止める
※更新部分のみ記述
void Update(){ if(isRunning){ restTime -= Time.deltaTime; if(restTime <= 0){ StopTimer(); } UpdateTime(); } }
■UIの更新
"01:38"のような形式で時間を表せるように表示する
public void UpdateTime(float time){ timerText.text = string.Format("{0:00}:{1:00}", (int)(time / 60), time % 60); }
■プロジェクト
GitHubにプロジェクトを公開しました。全コード、シーン構成を見たい方はこちらからどうぞ
github.com
■まとめ
UnityはUIの作成、UIとスクリプトの連携が簡単なのですぐに実装できた
UIの更新をRxを利用したらさらに短いコードで書けそう