Unity事例ノート

UNITY

ボタンによってPrefabの種類を変える

ボタンを押すことで、プレハブの切り替えができる仕組みをつくりましょう。

ボタン1は赤、ボタン2は青、ボタン3は緑に変更できます。

関連記事:
【Unity C#】ボタンを押すたびに順番にオブジェクトを切り替える
【Unity C#】1秒おきにPrefabを変える
【Unity C#】発射するPrefabの種類を順番に変える
【Unity C#】360°全方位に向けて発射

Prefabの準備

Sphereを3個作成して色をつけ、名前をそれぞれ次のように変更します。

3つのBallすべてにリジッドボディを追加します。

コンポーネントを追加 > 物理 > リジッドボディ

それぞれプロジェクトビューにドラッグ&ドロップし、Prefab化します。

Ballの元データは削除しておきましょう。

配列の中にPrefabを入れる

空のオブジェクトを作成します。

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

ClickShot.csを記述します。

GameObjectのインスペクターに、サイズというフィールドが出来ます。

使いたいPrefabの数は3個なので、「3」と入力します。

要素0~2のフィールドができるので、ここにBallのプレハブデータ1~3を入れましょう。

ボタンの作成

ボタンを3個作成して、名前をそれぞれ変更しました。

Canvasを選択し、UIスケールモードを「画面サイズに拡大」に変更します。

画面の拡縮に合わせて、ボタンの大きさも調整されます。

3つのボタンがこのように配置されています。

Buttonの設定を行います。

まずはButton1から、以下のような手順で設定します。

Button2、Button3も同様の手順で、それぞれ設定を行いましょう。

Button2では、ClickShot > Button2() を選択。

Button3では、ClickShot > Button3() を選択します。

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

ボタンを押すと、それぞれボールのPrefabデータが切り替わります。

関連記事:
【Unity C#】ボタンを押すたびに順番にオブジェクトを切り替える
【Unity C#】1秒おきにPrefabを変える
【Unity C#】発射するPrefabの種類を順番に変える
【Unity C#】360°全方位に向けて発射