前提・実現したいこと
Unityにおいて、一定周期(10秒ごと)で1~4いずれかの値を発生させて用いたいと考えています。
発生している問題・エラーメッセージ
後記のソースコードのように、StartメソッドとUpdateメソッドそれぞれの欄でRandom.Range(min, max)を用いたところ、同時に2つの値が発生しているように見えます。
例えば、StartメソッドにDebug.Logを入れると、Consoleの欄に
[00:14:20] 3
Unity Engine.Debug:Log(Object)
[00:14:20] 1
Unity Engine.Debug:Log(Object)
と表示されました。
1つのRandom.Rangeしか用いていないにもかかわらず、上記表示では、3と1が同じタイミングで発生しているように見えました。
※UpdateメソッドにDebug.Logを入れた場合も同様でした。
該当のソースコード
UnityのC#
1 2using System.Collections; 3 4using System.Collections.Generic; 5 6using UnityEngine; 7 8public class Test : MonoBehaviour { 9 10 float span = 10.0f; 11 12 float delta = 0; 13 14 int pt = 0; 15 16 // Use this for initialization 17 18 void Start() 19 20 { 21 22 pt = Random.Range(1, 5); 23 24 Debug.Log(pt); 25 26 } 27 28 29 // Update is called once per frame 30 31 void Update () { 32 33 this.delta += Time.deltaTime; 34 35 if (this.delta > this.span) 36 37 { 38 39 this.delta = 0; 40 41 pt = Random.Range(1, 5); 42 43 } 44 45 } 46 47}``` 48 49### 試したこと 50 51検索ワード「Unity C# Random.Range 2つの値が同時に表示される」などでGoogle検索をしてみましたが、上記について解説しているホームページは見当たりませんでした。 52 53### 補足情報(FW/ツールのバージョンなど) 54私はUnityの初心者であるため、非常に基本的なことが理解できていない可能性もございます。 55誠に恐縮ですが、ご教示よろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/22 01:52