Generuj losową liczbę w Unity bez dwuznaczności klasowej


10

Mam problem w Unity (C #), w którym chciałbym utworzyć liczbę losową. Chciałem użyć System.Random(odniesienie: używanie System), ale Unity narzeka, że ​​jest to niejednoznaczne UnityEngine.Random. Nie mogę określić odwołania (za pomocą System.Random), ponieważ randomnie jest to przestrzeń nazw. Jak określić, że chcę używać systemu losowo, a nie Unity?


Wydaje mi się, że tytuł pytania tak naprawdę nie odzwierciedla pytania. Najłatwiejszym sposobem na zrobienie tego, co mówi kafelek, jest po prostu skorzystanie z RNG Unity, co i tak może być ogólnie dobrą radą. Oczywiście, jeśli nie używasz niczego z przestrzeni nazw UnityEngine (mało prawdopodobne), możesz po prostu pominąć tę instrukcję.
Zeus,

Odpowiedzi:


31

Możesz jawnie określić przestrzeń nazw:

System.Random random = new System.Random(seed);
random.Next();

25

Możesz użyć dyrektywy using alias, aby nadać System.Random również nową nazwę:

using Rng = System.Random;

5
using Random = System.Random;też jest w porządku
trollingchar

8
using LiterallyAnyOldString = System.Random;jest również w porządku, możesz użyć wszystkiego, co chcesz, obowiązują te same zasady, co w przypadku zmiennych
MindSwipe

6
@MindSwipe Myślę, że trollingchar miał rację, że Randomjest w porządku i jednoznaczny, nawet w kontekstach, w których UnityEngine.Randomjest dostępny.
Alexander - Przywróć Monikę
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.