制限時間を表示!Unityでタイマーを扱う方法【初心者向け】現役エンジニアが解説

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

監修してくれたメンター

関谷 純

専門学校卒業後、ゲーム開発会社で4年ほどゲームプログラマーとして働き、UI周り・ネットワーク通信・アクション部分などの開発に携わる。現在はゲーム開発方法を教えながら、個人でゲーム開発・販売を行う。

ゲームを作成していると、タイマー機能が必要になる場合があります。

タイマーと聞くと難しそうと思うかもしれませんが、Unityでは簡単にタイマー機能を作成できます。

この記事では、タイマー機能の作成方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

目次

そもそもUnityについてよく分からないという方は、Unityとは何なのかについて解説した記事を読むとさらに理解が深まります。

 

田島悠介

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

大石ゆかり

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

田島悠介

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

実際にやってみよう。

大石ゆかり

はい!

 

Timeクラスを使う

タイマーを作る際に一番よく使われる方法は、Timeクラスを使って実装する方法です。

数行のプログラムでタイマーを実装できます。

初心者の方はまずTimeクラスをの使い方を覚えましょう。

 

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

今回はゲームが開始してから、どれだけの時間が経過したかを計るタイマーを作成していきます。

最初に時間を表示するテキストをシーン上に配置します。

Hierarchyを右クリック → UI → Text をクリックします。

 

配置されたテキストをドラッグ&ドロップして、位置を変更します。

2Dビューにした方が作業しやすいので、Sceneビュー上の2Dをクリックしましょう。

 

下画像のようにテキストを白枠の中心に配置します。

 

作成したTextは小さくて見づらいので、Inspector上の値を変更して見やすくします。

下記画像のように、Widthを300、Heightを150にします。

Font Sizeは 60 にしましょう。

 

下画像のように見やすくなりました。

 

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

Assets内で右クリック → Create → C# Script をクリックします。

 

ファイル名はTimerとします。

 

Timerスクリプトに下記のプログラムを記述します。

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に、ゲームが開始してからの秒数を格納
        countTime += Time.deltaTime;

        // 小数2桁にして表示
        GetComponent<Text>().text = countTime.ToString("F2");
    }
}

 

TimeクラスのTime.deltaTimeには、前フレームから現在のフレームまでの経過時間が格納されています。

経過時間をcountTimeに加算していくことにより、ゲームが開始してからの合計経過時間を記録できるという仕組みです。

動作を確認するために、TimerスクリプトをTextにAdd Componentしましょう。

Add Componentするには、TimerスクリプトをTextのInspectorにドラッグ&ドロップします。

 

ゲームを実行すると、Textにゲームが開始されてからの経過時間が表示されます。

 

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

まとめ

今回はUnityでタイマーを作成する方法を学習しました。

経過時間を記録するといった単純なタイマーなら、Unityでは簡単に作成できます。

タイマー作成はサクッと終えて、ゲームの中身をどんどん作りこんでいきましょう。

 

田島悠介

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

大石ゆかり

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

田島悠介

例えばコード内の「F2」の部分を「F3」にすると小数点第三位までの表示になるよ。

使いたい場面に応じて調整しよう。

大石ゆかり

タイマーはいろんなところで使えそうですね。

覚えておきたいです!

 

Unityを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

Unityを学習していて、このように思ったことはありませんか?

テックアカデミーでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、はじめてでもUnityでオリジナルゲームの制作ができるようになります。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!