Generieren Sie Zufallszahlen in Unity ohne Klassenmehrdeutigkeit


10

Ich habe ein Problem in Unity (C #), bei dem ich eine Zufallszahl erstellen möchte. Ich wollte verwenden System.Random(Referenz: Verwenden System), aber Unity beschwert sich, dass es für ihre eigenen nicht eindeutig ist UnityEngine.Random. Ich kann die Referenz (mit System.Random) nicht angeben, da randomes sich nicht um einen Namespace handelt. Wie gebe ich an, dass ich das System zufällig und nicht das Unity-System verwenden möchte?


Es scheint mir, dass der Titel der Frage die Frage nicht wirklich widerspiegelt. Der einfachste Weg, das zu tun, was auf der Kachel steht, ist einfach das RNG von Unity, was im Allgemeinen ohnehin ein guter Rat sein kann. Wenn Sie nichts aus dem UnityEngine-Namespace verwenden (unwahrscheinlich), können Sie diese using-Anweisung natürlich einfach weglassen.
Zeus

Antworten:


31

Sie können den Namespace explizit angeben:

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

25

Sie können eine using-Alias-Direktive verwenden , um System.Random ebenfalls einen neuen Namen zu geben:

using Rng = System.Random;

5
using Random = System.Random;ist auch in Ordnung
Trollingchar

8
using LiterallyAnyOldString = System.Random;ist auch in Ordnung, Sie können alles verwenden, was Sie wollen, es gelten die gleichen Regeln wie für Variablen
MindSwipe

6
@ MindSwipe Ich denke, Trollingchars Punkt war, dass Randomes in Ordnung und eindeutig ist, selbst in Kontexten, in denen UnityEngine.Randomes verfügbar ist.
Alexander - Reinstate Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.