현재 제가 만들고있는 게임에 대해 한 번에 두 개의 임의의 (전체) 숫자를 생성하려고합니다. 무작위로 시작 및 끝 타일을 생성하려고합니다. 이 작업을 수행 할 때 임의로 생성 된 두 개의 숫자는 항상 동일합니다. 이것은 아마도 그들이 함께 가까이 계산 된 호출되고 있기 때문에 이해하지만, 난 두 개의 다른 난수를 얻는 방법에 대한 정보를 찾을 수 없습니다. 내 코드는 매우 간단합니다 (C#).Unity3d가 여러 난수를 생성합니다.
float startTile = Mathf.Ceil(Random.Range(1.0f, 8.0f));
float endTile = Mathf.Ceil(Random.Range(1.0f, 8.0f));
감사합니다.
편집
이이 오래된 질문에 대한 대답이었다 중복 질문으로 표시되었다
Random rand = new Random();
int t = rand.next(x,x2);
내가 잘못된 일을하고 있어요 않는 한, 나는 심지어를 사용할 수 없습니다입니다 rand.Next (x, x1)는 단일성 안에서 기능합니다.
실제 코드 :
private void SpawnStartandEndTiles()
{
Random rand = new Random();
int t = rand.N //<Next is not an option
//Other misc. Code that uses the random numbers
}
난 그냥 랜덤 함수의 작동 방법에 뭔가를 받고 있지 않다 있으면 알려 주시기 바랍니다.
고마워요.
의 크기에 영향을주지 않는 방법을 보여줍니다 당신은'랜드'선언했습니다. –
Unity의 [Random.Range'] (https://docs.unity3d.com/ScriptReference/Random.Range.html)를 사용하고 .NET의 Random 클래스를 사용하지 않아서 이것이 중복이라고 생각하지 않습니다. Unity를 모르지만 정수 시드 값을 사용하여 호출 할 수있는 ['Random.InitState'] (https://docs.unity3d.com/ScriptReference/Random.InitState.html) 메서드가 있으므로 잠재적 해결책은'Random.Range' 호출 사이에'Random.InitState (new System.Random(). Next())'를 호출하는 것입니다. 그러나 .NET의 무작위 시드를 생성하여 임의의 시드를 생성하는 임의의 시드를 사용하면 다른 난수가 생성 될 수 있습니다. 아마도 .NET의 임의 항목을 단독으로 사용할 수 있습니다. – Quantic
당신이'System.Random'이 아닌'UnityEngine.Random'을 사용하고 있음을 명확히하는 것은 질문을 다시 열어 놓는 데 도움이 될 수 있습니다. – Quantic