制限時間を表示!Unityでタイマーを扱う方法【初心者向け】

初心者向けにUnityでタイマーを設定する方法を解説しています。制限時間や経過時間などを表示したい時に役立つ知識です。実際にプログラムを書きながらタイマーの使い方を紹介しているので、ゲーム開発をしたい方はぜひご覧ください。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が1,000以上あります。

ゲームを作成するにあたってタイマー機能が必要になってくる場面があると思います。

タイマーと聞くと難しそうと思うかもしれませんが、Unityでは簡単に時間管理をするためのクラスが用意されています。それでは実際にタイマーを作成していきましょう。

 

なお、本記事はTechAcademyのUnity入門オンライン講座の内容をもとにしています。

 

20163020-2

 

今回はUnityのゲーム画面上にタイマーを表示させてみよう。

 

20160620

 

田島メンター!!タイマーはどうやって設置するんですか〜?

 

20163020-2

 

手順としてはまずテキストを表示させるオブジェクトを作成し、それにスクリプトを適用させる形になるよ。実際にやってみよう。

 

20160620

 

はい!

 

タイマーを扱う主な方法

1. Timeクラス

タイマーを作る際に一番よく使われる方法です。

書き方によって様々なタイマーを実装することが可能です。数行でタイマーを実装することができるので初心者の方はまずこれを覚えると良いでしょう。

 

2. コルーチンを使用する

コルーチンと呼ばれるプログラミングを使用します。コルーチンの詳細は省略しますが、以下のように書くことによって何秒か後に実行といった、時間管理を簡単にすることができます。

yield return new WaitForSeconds (1.0f); //1秒後待って実行

他にも方法はありますが主に使用するのはこの二つです。

 

実際にタイマーを作ってみる

今回は「Timeクラス」を使用して、ゲームが開始してからの時間を計るストップウォッチのようなタイマーを作成していきたいと思います。

下の画像のように時間を表示するテキストを左上に作成してください。レースゲームなどで良くある構図ですね。

unity_09_01

20160620

 

タイマー用のテキストはどうやって作成したらいいんですか〜?

 

20163020-2

 

「GameObject」から「UI」→「Text」で新規作成しよう。背景によっては文字の色を変更しておく必要があるよ。

 

20160620

 

作成できました!

 

20163020-2

 

それではそのテキストに、以下のスクリプトを追加するよ。

 

次にテキストを表示するスクリプトを作成していきましょう。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class Timer : MonoBehaviour {

  float countTime = 0;
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
    countTime += Time.deltaTime; //スタートしてからの秒数を格納
    GetComponent<Text>().text = countTime.ToString("F2"); //小数2桁にして表示
    }
}

「Time.deltaTime」は前フレームとの秒数差を求めることができます。それをプラスしていくことによって、coutTimeにスタートしてからの秒数が入る仕組みです。

実行してみるとタイマーがスタートすることがわかります。

unity_09_02

 

[PR] Unityを使ったゲーム開発で挫折しない学習方法を動画で公開中

まとめ

いかがでしたでしょうか。

今回はUnityでタイマーを使用する方法について書いていきました。

実際にコードを見てみると分かる通り、Unityでは簡単にタイマーを作成することができます。タイマー作成はサクッと終えて、ゲームの中身をどんどん作りこんでいきましょう。

 

20163020-2

 

ゲームを再生するとどうなったかな?

 

20160620

 

テキストのあった部分がタイマーになってます!

 

20163020-2

 

例えばコード内の「F2」の部分を「F3」にすると小数点第三位までの表示になるよ。使いたい場面に応じて調整しよう。

 

20160620

 

タイマーは色んなところで使えそうですね。覚えておきたいです!

 

[お知らせ]TechAcademyではオリジナルゲームアプリが公開できるUnityオンラインブートキャンプを開催しています。現役Unityエンジニアのサポートで効率的に学びたい場合はご検討ください。