【ハルシオンブログ】deltaTimeを使えばストップウォッチとか、ゲームのタイマーとか作れます。( ー`дー´)キリッ
こんにちは。坂内っす。
祝日のためブログが1週間飛びました。
俗にいうシルバーウィークでしたね。皆さんどうお過ごししたでしょうか?
あー 旅行いきたい!
Unityでタイムを計る方法。
ストップウォッチ的な感じや、ゲームの残り秒数的な奴の作り方。
幾つかやり方あると思いますが、簡単そうなのはTime.deltaTimeを使う方法でしょうか。
簡単にストップウォッチ的なものを作ってみます。
[Blog20210927.cs]

Updateの中にすべてが詰まってます。
Time.deltaTimeを足しこんでいけば、ボタンを押してからの時間が取れますね。
あとは表示しているだけです。
ゲームのタイマーなんかもTime.deltaTimeを使えばカウントダウンできますね。
ということで、タイマー系にはdeltaTimeが使えるよという話でした。
では、あでゅ~ノシ
祝日のためブログが1週間飛びました。
俗にいうシルバーウィークでしたね。皆さんどうお過ごししたでしょうか?
あー 旅行いきたい!
Unityでタイムを計る方法。
ストップウォッチ的な感じや、ゲームの残り秒数的な奴の作り方。
幾つかやり方あると思いますが、簡単そうなのはTime.deltaTimeを使う方法でしょうか。
簡単にストップウォッチ的なものを作ってみます。
[Blog20210927.cs]
using UnityEngine;
using UnityEngine.UI;
public class Blog20210927 : MonoBehaviour
{
[SerializeField] Text lblTime;
[SerializeField] Button btnStart;
enum TimerStat {
None,
Counting,
Stop,
}
TimerStat stat;
float timer = 0f;
private void Start() {
lblTime.text = "";
stat = TimerStat.None;
btnStart.onClick.AddListener(OnClickButton);
btnStart.GetComponentInChildren<Text>().text = "開始";
}
void OnClickButton() {
switch (stat) {
case TimerStat.None:
case TimerStat.Stop:
timer = 0f;
stat = TimerStat.Counting;
btnStart.GetComponentInChildren<Text>().text = "ストップ";
break;
case TimerStat.Counting:
stat = TimerStat.Stop;
btnStart.GetComponentInChildren<Text>().text = "開始";
break;
}
}
private void Update() {
if (stat == TimerStat.Counting) {
timer += Time.deltaTime;
lblTime.text = timer.ToString("n1");
}
}
}

Updateの中にすべてが詰まってます。
Time.deltaTimeを足しこんでいけば、ボタンを押してからの時間が取れますね。
あとは表示しているだけです。
ゲームのタイマーなんかもTime.deltaTimeを使えばカウントダウンできますね。
ということで、タイマー系にはdeltaTimeが使えるよという話でした。
では、あでゅ~ノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】よく使う静的メソッドのクラス名を書かなくてよくする方法 | 【ハルシオンブログ】スクリプトの実行順の制御 »
コメント
| h o m e |