Unity事例ノート

UNITY

発射するPrefabの種類を順番に変える

発射するたびに、Prefabの種類が変わっていく仕組みをつくってみましょう。

クリックで発射すれば、3種類のボールが、順番に切り替わっていきます。

関連記事:
【Unity C#】1秒おきにPrefabを変える
【Unity C#】種類の違うオブジェクトを順番に生成する
【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を入れましょう。

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

ball.Array.Lengthは、要素の数を表し、この場合は要素0、1、2の合計3個になります。

クリックでボールを発射するたびに、countを1ずつ増やします。

countが3を下回っている間は、countどおり順番にBallの1~3を発射。

countが3以上になれば、countを0に戻しています。

関連記事:
【Unity C#】1秒おきにPrefabを変える
【Unity C#】種類の違うオブジェクトを順番に生成する
【Unity C#】ボタンによってPrefabの種類を変える
【Unity C#】360°全方位に向けて発射