Unity事例ノート

UNITY

TextMeshProを使用したタイムアップのしくみ

タイムアップになれば、操作不可になるように、スクリプトを作成しましょう。

今回のカウンダウンタイマーは、TextMeshProを使用して作ります。

タイマーが0になれば、TimeUpの表示が出て、プレーヤー(Cube)は動けなくなります。

関連記事:
TextMeshProのカラー設定
TextMeshProをスクリプトで表示
TextMeshProのフォントアセットと日本語対応
TextMeshProのサイズ・字体・シャドウ
ハイスコアをつくる
タイムアタックできる「カウントアップタイマー」
ベストタイム(最短時間)の更新とリセット
クリックするたびにタイマー作動

TextMeshProの作成

まずはTextMeshProをインポートしましょう。

ヒエラルキー > UI > TextMeshProを選択します。

TMP Importの画面が出ますので、Import TMP Essentialsをクリックしましょう。

Assets内に、TextMeshProのフォルダが確認できます。

Text(TMP)のサイズ、色、位置などを設定します。

ゲームビューではこのように見えています。

オブジェクトの用意

Plane、Cube、空のオブジェクト(GameObject)を作成します。

オブジェクトに色をつけ、Cubeは地上に出します。

ゲームビューではこのように見えています。

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

カウンダウンするタイマーと、時間が過ぎれば「TimeUp!」と表示されるようにしましょう。

TimeScript.csを作成し、GameObjectに追加します。

TimeScript.csを記述します。

TextMeshProを扱う際に必要には、using TMPro; を忘れずに記述しておきましょう。

time.ToString("F1") と書けば、少数第一位までを表示できます。

TimeTextのフィールドに、Text(TMP)を入れましょう。

続いて、プレーヤー(Cube)を操作できるようにスクリプトを作成します。

CubeMove.csを作成し、Cubeに追加します。

こちらは、「TimeUp!」が出てくれば、それ以上は操作不可にするスクリプトです。

CubeMove.csを記述しましょう。

TimeUpクラスの isTimeUp を参照しています。

isTimeUp が falseの状態(タイマーが動いている間)のみ、操作可能です。

ゲームプレイして、動きを確認しましょう。

タイマーが動いている間は、移動可能。

タイムアップになれば、動けなくなります。

関連記事:
TextMeshProのカラー設定
TextMeshProをスクリプトで表示
TextMeshProのフォントアセットと日本語対応
TextMeshProのサイズ・字体・シャドウ
ハイスコアをつくる
タイムアタックできる「カウントアップタイマー」
ベストタイム(最短時間)の更新とリセット
クリックするたびにタイマー作動