Unity事例ノート

UNITY

ぶつかったオブジェクトの名前をリストに追加する

プレーヤーに触れたオブジェクトの名前を、順番にリスト(List)に追加できる仕組みをつくってみましょう。

Cubeを操作して、複数のオブジェクトにぶつかれば、リストの中に入ります。

配列(Array)は、あらかじめ要素の数が決まっている場合、リスト(List)は要素の数が決まっていない場合に適しています。

関連記事:
ぶつかったオブジェクトを順に配列に入れる
リストの中のオブジェクトを表示する
クリックしたオブジェクト名をリストへ追加
リストの中で最後に追加された要素から削除
リストを古い要素(先頭)から削除
リストの中で指定した要素を削除
FindObjectsOfTypeで指定したクラスを全て取得
配列をすべてリストに移す
指定した順序でオブジェクトを取る
リストのサイズ(長さ)を取得
リストの中をすべて表示・非表示

触れたオブジェクトの名前を順にリストに入れる

Cubeを作成。

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

わかりやすくするため、マテリアルカラーをつけました。

Sphere、Cylinder、Cupsuleを作成。

「Target」というタグを新規作成し、設定します。

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

3つのオブジェクトを動かして、Cubeから離して配置します。

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

CubeMove.csを記述します。

ゲームプレイして、Cubeを操作しましょう。

他のオブジェクトに触れると、順番にmyListの中に格納されていきます。

配列(Array)とは違い、ぶつかる相手のオブジェクト数に応じて、リストの要素の数も増えていきます。

関連記事:
ぶつかったオブジェクトを順に配列に入れる
リストの中のオブジェクトを表示する
クリックしたオブジェクト名をリストへ追加
リストの中で最後に追加された要素から削除
リストを古い要素(先頭)から削除
リストの中で指定した要素を削除
FindObjectsOfTypeで指定したクラスを全て取得
配列をすべてリストに移す
指定した順序でオブジェクトを取る
リストのサイズ(長さ)を取得
リストの中をすべて表示・非表示

SCHOOL教室案内