Unity事例ノート

UNITY

シャッフル(重複せずにランダム抽出)

リストの中から、重複せずにランダムで表示させるシャッフルの仕組みを作ってみましょう。

今回の例では、5個のオブジェクトからランダムで、異なる3つを取り出します。

上部のリストからランダムで1つずつ、下のリストへ追加。

取り出したオブジェクトは上部のリストから削除し、再び選択されないようにします。

関連記事:
数字をシャッフルする
シャッフル - 重複なしでオブジェクトを並べる
種類の違うPrefabをランダムで出現させる
ランダム表示したPrefabを順に配列に入れる
10分の1の確率で異なるPrefabを生成
重複せずに一つずつランダム出力(シャッフル)

ランダムで同じオブジェクトを表示させない

Cubeを5個、空のオブジェクトを1個作成しました。

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

ShuffleList.csを記述します。

MyListを展開し、サイズに5を入力。

要素0~4の中へ、それぞれCubeオブジェクトをドラッグ&ドロップします。

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

MyListにある5個のオブジェクトから、3個を順番にランダム抽出。

取り出したオブジェクトは、MyListから削除していますので、同じものが選ばれることはありません。

関連記事:
数字をシャッフルする
シャッフル - 重複なしでオブジェクトを並べる
種類の違うPrefabをランダムで出現させる
ランダム表示したPrefabを順に配列に入れる
10分の1の確率で異なるPrefabを生成
重複せずに一つずつランダム出力(シャッフル)

SCHOOL教室案内