Generar números aleatorios en Unity sin ambigüedad de clase.


10

Tengo un problema en Unity (C #) donde me gustaría crear un número aleatorio. Quería usar System.Random(referencia: usar System) pero Unity se queja de que es ambiguo para ellos UnityEngine.Random. No puedo especificar la referencia (usando System.Random) ya randomque no es un espacio de nombres. ¿Cómo especifico que quiero usar el sistema al azar y no el Unity?


Me parece que el título de la pregunta realmente no refleja la pregunta. La forma más fácil de hacer lo que dice el mosaico es simplemente usar RNG de Unity, que en general puede ser un buen consejo de todos modos. Por supuesto, si no está usando nada del espacio de nombres de UnityEngine (poco probable), podría omitir eso usando la declaración.
Zeus

Respuestas:


31

Puede especificar el espacio de nombres explícitamente:

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

25

Puede usar una directiva de uso de alias para darle a System.Random un nuevo nombre también:

using Rng = System.Random;

55
using Random = System.Random;también está bien
trollingchar

8
using LiterallyAnyOldString = System.Random;también está bien, puedes usar lo que quieras, se aplican las mismas reglas que para las variables
MindSwipe

66
@MindSwipe Creo que el punto de trollingchar es que Randomestá bien y sin ambigüedades, incluso en contextos donde UnityEngine.Randomestá disponible.
Alexander - Restablece a Mónica el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.