Привет, У меня есть сценарий, прикрепленный к основной камере, и в этом скрипте я хочу выбрать число от 0 до 5. И в зависимости от того, какое число я получаю, я хочу, чтобы скрипт запускался. У меня есть сценарий, прикрепленный к основной камере. Я получаю эту ошибкуMy Unity Script Wont работает?
NullReferenceException: Ссылка на объект не указывает на экземпляр объекта RandomFunction.Start() (на активы/ресурсы/Scripts/RandomFunction.cs: 22)
using UnityEngine;
using System.Collections;
public class RandomFunction : MonoBehaviour {
int n;
void Awake()
{
GetComponent<RandomFunction>().enabled = true;
}
void Start()
{
n=Random.Range(0,5);
if(n==0)
{
GetComponent<BlueGoUp>().enabled = true;
}
else if(n==1)
{
GetComponent<RedGoUp>().enabled = true;
}
else if(n==2)
{
GetComponent<GreenGoUp>().enabled = true;
}
else if(n==3)
{
GetComponent<OrangeGoUp>().enabled = true;
}
else if(n==4)
{
GetComponent<YellowGoUp>().enabled = true;
}
else if(n==5)
{
GetComponent<PurpleGoUp>().enabled = true;
}
}
}
Вы должны использовать инструкцию 'switch' вместо' if'-'sese'. Кроме того, по умолчанию эти скрипты имеют значение true? Потому что я уверен, что вам не нужно включать скрипт в объект. – AustinWBryan
там все отключены при запуске() – user5717696
Итак, когда вы отключите их в 'Start()' ничего не происходит? Нет исключения 'null'? – AustinWBryan