Nanashi-softプログラマ専用Unityでゲーム開発


◇Unityでゲーム開発 -C#で乱数-

乱数は,Random.valueを記述すると,0.0f~1.0fの間で発行される
または,Random.Range(最低値, 最高値)で,最低値~最高値の間の数値が発行される
毎回異なる値が入る

例)変数varに0.0f~1.0fの間の数値をランダムに入れる
float var;
var=Random.value;

例)0.0~9.0の間の乱数を生成する
float var;
var=Random.Range(0.0f, 9.0f);

例)0~9の間の整数乱数を生成する
int var;
var=Random.Range(0, 9);
※全てをint型で記述すると,整数乱数になる


・シード値設定(同じ乱数を発生させた場合)
Random.seed=『数値』;

例)変数varに毎回同じ乱数を代入する
float var;
Random.seed=13;
var=Random.value;

○ambiguousエラーが発生した場合

error CS0104: `Random' is an ambiguous reference between `UnityEngine.Random' and `System.Random'
ネームスペース中に同一の Randomという名称のクラスが見つかりましたが,どちらを使うかはっきりさせて下さい。と言っています

using System;を記述している事が原因です
Unityで実装した Randomと,.NETで実装した Randomが見つかったので,どちらを使いますか? という話です

最も簡単な方法は,UnityEngine.Randomに書き換える方法です
int var;
var=UnityEngine.Random.Range(0, 9);


TOPプログラマ専用Unityでゲーム開発