2015-10-16 4 views
1
public int num; 

void Start() { 

    num = Random.Range (1, 5); 

} 

Когда я делаю это, слово Random получает окрашены в красный цвет, и он просто говорит:Random.Range дает «Неизвестная ошибка рассосется»

"unknown resolve error".

Любые идеи?

+0

Возможный дубликат [Как сгенерировать случайное ИНТ число в C#? ] (http://stackoverflow.com/questions/2706500/how-do-i-generate-a-random-int-number-in-c) –

+1

У вас есть 'using System;' в верхней части вашего кода? полное имя 'Random' -' System.Random'. –

+0

Да, у меня есть: использование UnityEngine; с использованием System.Collections; с использованием системы; с использованием UnityEngine.UI; с использованием System.IO; с использованием System.Threading; – zligg

ответ

0

Во-первых, убедитесь, что ваш сценарий не назван так же, как библиотеки и классы единства.

Поскольку вы используете единство Random не System.Random, попробуйте ввести следующий код вместо:

num = UnityEngine.Random.Range(1, 5) 

Вы можете быть в состоянии удалить UnityEngine. если у вас есть следующее заявление в верхней части вашего кода:

using UnityEngine; 

Если вы хотите только Random класса или хотите разрешить неоднозначную ссылку вы можете использовать:

using Random = UnityEngine.Random; 

Также, если вы используете C#System.Random, вы можете использовать Random.Next.

3

Добавьте следующий код в верхней части кода

using Random = UnityEngine.Random; 

Random.Range не является частью System.Random, это функция Unity

+0

Это правильный ответ, если у вас есть «использование системы» и «использование UnityEngine», компилятор не может знать, что такое Random, если вы просто набираете «Random». – wlfbck