Random.Range() возвращает одно и тоже число. (unity/c#)

216
17 апреля 2022, 20:30

Почему Random.Range() возвращает одно и тоже число? Каждый раз он возвращает 0.

Instantiate(Object[Random.Range(0, 1)], new Vector2(0, 0), Quaternion.identity);  
Answer 1

Чтобы получать случайные нули и единицы, нужно вызывать:

Random.Range(0, 2) // integers in range [0, 2)

В целочисленной перегрузке Random.Range max исключается:

public static int Range(int min, int max);

Description:
Return a random integer number between min [inclusive] and max [exclusive]

Note max is exclusive. Random.Range(0, 10) can return a value between 0 and 9. Return min if max equals min.

Документация

Описание:
Возвращает случайное целое число между min [включительно] и max [исключительно]

Внимание: max не включается. Random.Range(0, 10) может возвращать значения от 0 до 9. Возвращает min, если max равен min.

Итак, Вам нужен Random.Range(0, 2)

Перегрузка для действительных чисел, напротив, включает оба конца интервала.

Answer 2

Дополню, если нужно от 0.5f и до 4 то вот вам пример.

Random.Range(.05f,4);
READ ALSO
LDAP аутентификация

LDAP аутентификация

С клиента на сервер нужно передать данные о доменном пользователе под которым запущено приложениеEnvironment

117
Программа подсчета простых множителей С# с применением методов

Программа подсчета простых множителей С# с применением методов

Подскажите, что не так в моем коде"К" не хочет брать на себя значение функции

136
Эллиптическая кривая- сложение двух точек C#

Эллиптическая кривая- сложение двух точек C#

Помогите с вопросом почему консоль выводит ? где ошибка?

184
Как сделать активными только определенные дни недели в DatePicker

Как сделать активными только определенные дни недели в DatePicker

Я получаю порядковые номера определенных дней недели из базы данных и эти дни должны оставаться активными в DatePicker, а все остальные - нетНо...

239