Ошибка в меню.Помогите - Форум - Все для Unity3d

Все для Unity3d> Ошибка в меню.Помогите - Форум>
Страница 1 из 11
Форум » Unity » Вопросы » Ошибка в меню.Помогите (Ошибка, как исправить)
Ошибка в меню.Помогите
ExolithusДата: Пятница, 24.04.2015, 06:09 | Сообщение # 1
Новый писатель
Группа: Пользователи
Статус: Offline
Код:
//Меню
var Company = false;
var MultiCompany = false;
var Settings = false;
var Quit = false;

//Общая для кнопок
var BackToStartMenu = false;
var BackToCompanyMenu = false;

//Кампания
var Company1 = false;
var Company2 = false;
var Company3 = false;

//Камеры меню
var StartCam = GetComponent.<Camera>();
var CompanyCam = GetComponent.<Camera>();
var MultiCompanyCam = GetComponent.<Camera>();
var SettingsCam = GetComponent.<Camera>();

//Камеры компании
var CompanyCam1 = GetComponent.<Camera>();
var CompanyCam2 = GetComponent.<Camera>();
var CompanyCam3 = GetComponent.<Camera>();

function OnMouseEnter(){
    GetComponent.<Renderer>().material.color = Color.green;
}
function OnMouseExit(){
    GetComponent.<Renderer>().material.color = Color.white;
}
function OnMouseUp(){
if(Settings == true){
SettingsCam.enabled  = true;
  StartCam.enabled = false;
}
if(Company == true){
  StartCam.enabled = false;
CompanyCam.enabled = true;
}
if(MultiCompany == true){
  StartCam.enabled = false;
  MultiCompanyCam.enabled = true;
}
if(BackToStartMenu == true){
  StartCam.enabled = true;
  MultiCompanyCam.enabled = false;
  CompanyCam.enabled = false;
  SettingsCam.enabled = false;
}
if(BackToCompanyMenu == true){
  CompanyCam.enabled = true;
  CompanyCam1.enables = false;
  CompanyCam2.enables = false;
  CompanyCam3.enables = false;
}
if(Quit == true){
  Application.Quit();
}
if(Company1 == true){
  CompanyCam.enabled = false;
  CompanyCam1.enables = true;
}
if(Company2 == true){
  CompanyCam.enabled = false;
  CompanyCam2.enables = true;
}
if(Company3 == true){
  CompanyCam.enabled = false;
  CompanyCam3.enables = true;
}
}
Ошибка:
ArgumentException: GetComponentFastPath can only be called from the main thread.
Constructors and field initializers will be executed from the loading thread when loading a scene.
Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
UnityEngine.Component.GetComponent [Camera]() (at C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineComponent.gen.cs:45)
MainMenu..ctor () (at Assets/MainMenu.js:18)
 
devpilgrimДата: Пятница, 24.04.2015, 11:37 | Сообщение # 2
Начинающий писатель
Группа: Проверенные
Сообщений: 196
Статус: Offline
Нельзя вызывать выбор компонентов в определениях переменных.
Для этих целей существует процедура Start.

Должно быть так:
Код
public Camera StartCam;
void Start(){
StartCam = GetComponent.<Camera>();  
}

Вообще в Unity лучше не использовать присвоение переменным в области определения, лучше делать это в void Start()


Готов работать за деньги, или за очень большие деньги.
 
Форум » Unity » Вопросы » Ошибка в меню.Помогите (Ошибка, как исправить)
Страница 1 из 11
Поиск:
Свернуть
Развернуть
Необходима авторизация
0
ТОП-5 САЙТА
НОВЫЕ ИГРЫ
ГОРЯЧИЕ ТЕМЫ
СЛУЧАЙНЫЕ ФАЙЛЫ