Genera un numero casuale in Unity senza ambiguità di classe


10

Ho un problema in Unity (C #) in cui vorrei creare un numero casuale. Volevo usare System.Random(riferimento: usare System) ma Unity si lamenta che è ambiguo per loro UnityEngine.Random. Non riesco a specificare il riferimento (usando System.Random) in quanto randomnon è uno spazio dei nomi. Come faccio a specificare che voglio usare il sistema in modo casuale e non quello di Unity?


Mi sembra che il titolo della domanda non rispecchi davvero la domanda. Il modo più semplice per fare ciò che dice la tessera è semplicemente usare l'RNG di Unity, che in genere può essere comunque un buon consiglio. Ovviamente se non stai usando nulla dallo spazio dei nomi UnityEngine (improbabile) potresti semplicemente omettere quell'istruzione using.
Zeus,

Risposte:


31

È possibile specificare esplicitamente lo spazio dei nomi:

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

25

Puoi usare una direttiva alias usando per dare a System.Random anche un nuovo nome:

using Rng = System.Random;

5
using Random = System.Random;va bene anche
trollingchar

8
using LiterallyAnyOldString = System.Random;va anche bene, puoi usare tutto quello che vuoi, valgono le stesse regole delle variabili
MindSwipe

6
@MindSwipe Penso che il punto di Trollingchar fosse Randomperfetto e inequivocabile, anche nei contesti in cui UnityEngine.Randomè disponibile.
Alexander - Ripristina Monica il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.