サイコロの目のようにランダムな数字が出したい
そんな時に使える「Random.Range」の紹介です。
手っ取り早い実装方法
private int randomNum; private void Start() { this.randomNum = UnityEngine.Random.Range(0, 6); //出力されるのは0~5 print(this.randomNum); }
これで0~5の数字が出力されます。
詳しい解説
なんで0~6の数字じゃないの?と思った方は下の例をご覧ください。
//オブジェクトを5個セットする [SerializeField] private List<GameObject> objects; private void Start() { //List(objects)の後ろに.Countを付けることでListの長さが分かる //出力されるのはElement0~4の中に入っているオブジェクト print(this.objects[UnityEngine.Random.Range(0, objects.Count)]); }
List(拡張性のある配列)に5個のオブジェクトをセットしました。
objectsを5個セットしたのでobjects.Countの中身は5です。
それを踏まえた上で下の画像をご覧ください。
Elementの数字は0~4までですね。
もしランダムな数字で5まで出力されたら配列外参照でエラーになってしまいます。
最後の数字-1なんだな~と覚えておけば大丈夫です。
まとめ
簡単にランダムな数字を出力する「Random.Range」の紹介でした。
別の記事でこれを利用した応用編的なものを紹介する予定です。