お電話でのお問い合わせ
電話をかける
電話をかける メニューボタン
学習コンセプトカリキュラム・料金教室紹介無料体験授業

フタバゼミ
ゼミノート

【Unity C#】Prefabの生成数を制御

配列変数を使って、種類の異なるプレハブ(prefab)を、ランダムで生成してみましょう。

テスト用に2種類の3Dオブジェクトを用意しました。

5秒おきにプレハブを生成。
カメラの前を、オブジェクトが通過し、ある座標まで到達すれば消えるプログラムを作ります。

今回はさらに、生成するプレハブについて、プレハブの種類の数だけ出現させてみます。

シーンビューで上から見たところ。

左から出現し、右方向に移動。
Xが60に到達すると消えるという仕組みにします。

カウンターを使って出現数を制限

3Dオブジェクトをプレハブ化。

ヒエラルキービューからは削除しておきましょう。

そして新しくGameManagerという空のオブジェクトと、C#スクリプトをつくりました。

つくったスクリプトは、GameManagerのオブジェクトにアタッチ。

プレハブの生成に関するコードを記述します。

配列については、サイズを入力して個数を決めます。

今回は2つのプレハブを入れるので、2を入力。

また、今回のテーマでもある生成数の制御については、counterを使っています。

bases.Lengthを使えば、配列の長さ(個数)を取得できるので、これを用いて、プレハブの個数を制限するんですね。

一つプレハブを出現するごとに、counterが1増える。

そして、bases.Lengthの数に達した時点で、タイムアップのテキストを表示させる。

プレハブに動きをつける

生成のコードはできましたので、今度はプレハブを動かすスクリプト。

ファイルは分けて作成しました。

動きについては、今まで繰り返しやってきたコードですね。

C#スクリプトは、それぞれのプレハブにアタッチ。

プレイしてみると、5秒おきにプレハブが生成され、2個目が出たときに、TIME UPが表示されます。

そして、X座標が60に到達した時点で、オブジェクトを消します。

プレハブの種類の数だけ、生成するプログラムが完成しました。