Unity事例ノート

UNITY

ゴールした順位をテキスト表示

ゴールした順位とオブジェクト名を、テキストで表示できる仕組みを作ってみましょう。

3つのPrefabを走らせ、ゴールにたどり着いた順番に、1位、2位, 3位と、該当のオブジェクト名を表示します。

関連記事:
【Unity C#】入力テキストを順番に配列に入れる
【Unity C#】ランダム表示したPrefabを順に配列に入れる
【Unity C#】配列にあるオブジェクトを要素番号で呼び出す
【Unity C#】ぶつかったオブジェクトを順に配列に入れる
【Unity C#】複数のオブジェクト名を配列に入れてテキスト表示
【Unity C#】リストのオブジェクト名を一行でテキスト表示
【Unity C#】指定した順序でオブジェクトを取る





移動するPrefabの作成

Cubeを作成し、リジッドボディを追加して、UseGravityのチェックを外します。

Targetというタグ名を付け、トリガーにするにチェックを入れます。

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

CubeMove.csを記述します。

このスクリプトでは、Cubeのスピードを3~5の範囲でランダム変化させ、到着タイミングに差をつけています。

続いて、Cubeをプロジェクトビューにドラッグ&ドロップして、Prefab化します。

Cubeの元データは削除しておきます。

ゴール位置とPrefab生成

ゴール位置として空のオブジェクトを作成し、ボックスコライダーを追加。

位置とサイズを変更します。

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

CubeClone.csを記述します。

このスクリプトでは、Cubeプレハブの生成と、ゴールにたどり着いたときの順位を表示します。

生成したCubeのオブジェクト名に、連番がつくようにしています。

ゴールした順位をテキスト表示

続いて、テキストを3つ作成し、それぞれ名前を変更。

3つのテキストの座標をそれぞれ変えて、横並びに配置します。

プレハブのフィールドにCubeを入れ、3つのテキストフィールドに、それぞれのテキストオブジェクトを入れます。

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

ゴールに着いた順に、1位、2位、3位のオブジェクト名が、それぞれテキストで表示されます。

【Unity C#】入力テキストを順番に配列に入れる
【Unity C#】ランダム表示したPrefabを順に配列に入れる
【Unity C#】配列にあるオブジェクトを要素番号で呼び出す
【Unity C#】ぶつかったオブジェクトを順に配列に入れる
【Unity C#】複数のオブジェクト名を配列に入れてテキスト表示
【Unity C#】リストのオブジェクト名を一行でテキスト表示
【Unity C#】指定した順序でオブジェクトを取る