Unity事例ノート

UNITY

1秒おきにPrefabをランダム表示・非表示

種類の違うPrefabを、1秒おきにランダムで表示、非表示させてみましょう。

4つのオブジェクトがランダムで出現し、1秒経てば消えてという動きをくり返します。

関連記事:
【Unity C#】1秒後にPrefabを削除する
【Unity C#】1秒おきにPrefabを変える
【Unity C#】出現時間をランダム(秒)にする
【Unity C#】1秒おきにランダムで回転角を変える
【Unity C#】制限時間になればPrefabを全削除
【Unity C#】ランダム表示したPrefabを順に配列に入れる

種類の異なるPrefabを用意

Cube、Sphere、Capsule、Cylinderの4つのオブジェクトを作成します。

DeleteTime.csを作成し、4つのオブジェクトに追加します。

DeleteTime.csを記述します。

lifeTimeというフィールドが出来ますので、4つのオブジェクトすべて「1」を入力します。

これで、オブジェクトが出現してから、1秒後に消えるようになります。

4つのオブジェクトをすべてプロジェクトビューに入れて、Prefab化しましょう。

4つのオブジェクトの元データを削除します。

ランダムで出ては消えるスクリプト

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

RandomObject.csを作成し、GameObject(空のオブジェクト)に追加しましょう。

RandomObject.csを記述します。

サイズというフィールドに「4」を入力します。

0~3の要素というフィールドが出来るので、ここに4つのPrefabをそれぞれ入れます。

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

今回のスクリプトでは、2つの時間の設定があります。

Prefabが消えるまで1秒、Prefabを生成する間隔は2秒にしています。

消える時間は、生成する間隔よりも短い時間に設定します。

スロットゲームなどでも使えそうな仕組みですね。

関連記事:
【Unity C#】1秒後にPrefabを削除する
【Unity C#】1秒おきにPrefabを変える
【Unity C#】出現時間をランダム(秒)にする
【Unity C#】1秒おきにランダムで回転角を変える
【Unity C#】制限時間になればPrefabを全削除
【Unity C#】ランダム表示したPrefabを順に配列に入れる