Unity事例ノート

UNITY

タイムアタックできる「カウントアップタイマー」

UIテキストを用いたカウントアップタイマーで、ある条件になればストップする仕組みを作ってみましょう。

今回の制作では、3つのボールを取ったらタイマーを止めるようにしていきます。

ミリ秒単位で、タイムアタックするようなゲームでも、使えそうな仕組みですね。

関連記事:
タイムアップでテキストを表示
ベストタイムを表示する
タイマーによる成績で評価ランク

オブジェクトの用意

オブジェクトを用意しましょう。

Cubeをプレーヤー、アイテムとしてSphereを配置します。

わかりやすいように色分けしています。

オブジェクト名はこのようになっています。

Cubeにはリジッドボディを追加しましょう。

ここでは、転がっていかないように、回転を固定しています。

3つのSphereにはそれぞれ、Itemという名前でタグをつけます。

3つのSphereそれぞれ、コライダーの「トリガーにする」にチェックを入れます。

UI > テキストを作成しましょう。

テキスト名をTimeTextに変更しました。

テキストの色、サイズ、配置を変えます。

ここでは、中央下に配置しています。

タイムアタックのスクリプト

条件がそろえばタイマーを止めるには、スクリプトが必要です。

Cubeに、PlayerMove.csを作成しましょう。

PlayerMove.csのスクリプトを書いていきます。

UIテキストを扱う場合、using UnityEngine.UI; を忘れずに書いておきましょう。

TimeTextフィールドには、TimeTextを入れます。

「F2」を使えば、少数点2位までテキストに表示可能。

アイテムが3個取れていない間は、ずっとタイマーをカウントアップさせています。

ゲームプレイしてみましょう。

3つのアイテムを取れば、タイマーのカウントがストップします。

関連記事:
タイムアップでテキストを表示
ベストタイムを表示する
タイマーによる成績で評価ランク