Форум программистов, компьютерный форум, киберфорум
Наши страницы

Unity, Unity3D

Войти
Регистрация
Восстановить пароль
 
Salty_Sugar
26 / 26 / 1
Регистрация: 02.04.2012
Сообщений: 142
#1

Скрипты в Unity. Почему объекты не инициализируются? - Unity, Unity3D

05.09.2015, 14:31. Просмотров 199. Ответов 2
Метки нет (Все метки)

Вот, допустим, у меня есть некие gameObject1 и gameObject2.
И у них есть скрипты script1 и script2 соответственно.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Script1 : MonoBehaviour 
{
    public Script2 script2;
 
    void Start () 
    {
 
    }
 
    void Update () 
    {
    
    }
 
    void OnMouseDown()
    {
        script2.Method1();
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Script2 : MonoBehaviour 
{
    private SomeClass sClass;
 
    void Start () 
    {
        sClass = new SomeClass();
    }
 
    void Update () 
    {
        if (Input.GetKeyDown("space"))
            Method1();
        
    }
 
    void Method1()
    {
        GetComponent<SomeComponent>().someVariable = sClass.SomeMethod();
    }
}
Почему при вызове Method1() из script1 ругается, что sClass не инициализирован, но без ошибок работает при вызове из script2?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2015, 14:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Скрипты в Unity. Почему объекты не инициализируются? (Unity, Unity3D):

Почему скрипты нельзя добавить к объектам? - Unity, Unity3D
Доброго времени суток. Подскажите, пожалуйста, почему скрипты нельзя добавить к объектам? Всё работало, всё нормально было, закрыл Unity,...

Unity 2D - Как не двигать фон, как двигать объекты по клеткам, как изменить камеру - Unity, Unity3D
1. Как уменьшить эту камеру 2. Как запретить нажимать на этот фон? Например, ты тапаешь случайно по фону, а он выделяется - как...

Удалить все объекты и создать объекты - потомки - Unity, Unity3D
Как сделать клоны объекта в другом объекте? Использую метод Instantiate Есть метод public Transform Elem; //элемент на...

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

Указатели. Почему именно так инициализируются в даном случае? - C++
Не могу понять, почему при инициализации *p мы берем по ссылке, а при *p2 просто присваивание? #include &lt;iostream&gt; using namespace std;...

Только начал изучать с++, подскажите, почему не Инициализируются переменные? - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; using std:: cout; using std:: cin; using...

2
8Observer8
1831 / 1158 / 153
Регистрация: 05.10.2013
Сообщений: 3,790
Записей в блоге: 55
08.09.2015, 14:27 #2
Цитата Сообщение от Salty_Sugar Посмотреть сообщение
public class Script1 : MonoBehaviour
{
* * public Script2 script2;
Цитата Сообщение от Salty_Sugar Посмотреть сообщение
Почему при вызове Method1() из script1 ругается, что sClass не инициализирован
А вы точно не забыли в инспекторе кинуть объект2 в открытое поле "public Script2 script2;"?

Цитата Сообщение от Salty_Sugar Посмотреть сообщение
void Method1()
Перед методом нужно поставить public.
0
Salty_Sugar
26 / 26 / 1
Регистрация: 02.04.2012
Сообщений: 142
08.09.2015, 16:02  [ТС] #3
Цитата Сообщение от 8Observer8 Посмотреть сообщение
А вы точно не забыли в инспекторе кинуть объект2 в открытое поле "public Script2 script2;"?
Да, я закинул объекты в нужные поля.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Перед методом нужно поставить public.
Сам метод срабатывает, но поля класса не инициализируются.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2015, 16:02
Привет! Вот еще темы с ответами:

Почему глобальные переменные сразу инициализируются "в ноль"? - C (Си)
Доброго времени суток, уважаемые форумчане! Мучает меня один вопрос: Почему глобальные переменные сразу инициализируются &quot;в ноль&quot;?...

UBlock почему-то заблокировал скрипты и стили по сайту - WordPress
uBlock (антирекламное расширение для Chrome) почему-то заблокировал скрипты и стили по сайту,как это исправить? Вот сайт...

Почему не рисуются объекты? - PascalABC.NET
Надо сделать так, чтобы объекты группировались в другие объекты-контейнеры и именно контейнеры находились в списке объектов Сцены. Чем...

Почему некоторые скрипты в Google Chrome работают не так, как надо? - JavaScript
Почему некоторые скрипты в Google Crome работают не так как надо, в то время как в Opera и Mozzila работает все отлично! В чем это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.