私は長い間C++を使用してきました。さて、Unity3DでC#を使い始めました。私はほぼ完成してアプリを完成させていますが、Unity C#で動作するintジェネレータを見つけることができません。 私は次のことを試してみた:Unity3D C#ランダムIntジェネレータ
r = Random.Range(min, max)
と
Random rand = new Random();
r = rand.next(min, max)
の両方が動作しませんでした。私はC++であなたが知っている:
r = rand() % max + min;
乱数が必要な場合。 Unity C#の場合はどうですか? コード:
EDIT:r = rand() % max + min
はあなたにC++でのmin
とmax
間の乱数を与えるだろうと同じよう
using UnityEngine;
using System.Collections;
public class STarget : MonoBehaviour {
public GameObject inter;
int rand;
public GameObject TS1;
public GameObject TS2;
public GameObject TS3;
public GameObject TS4;
public GameObject TS5;
void Update() {
rand = Random.Range(1, 6);
}
public void GameRun() {
switch (rand){
case 1:
inter = TS1;
break;
case 2:
inter = TS2;
break;
case 3:
inter = TS3;
break;
case 4:
inter = TS4;
break;
case 5:
inter = TS5;
break;
}
Game.TargetSingle(inter);
}
}
説明「機能しませんでした」、例外がありますか?期待していないところに結果がありますか?私たちは、あなたが問題を説明しなければ、あなたが問題を抱き締めるのを助けることはできません。 –
'rand.Next(min、max)'がチェックアウトします。あなたが[新しい同一のシードされたランダムの穴をループで埋める]に落ちないようにしてください(http://stackoverflow.com/questions/767999/random-number-generator-only-generating-one-random-number ) –
'Random.Range(min、max)'も動作するはずです。あなたが望むものに依存します。 –