Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 27.07.2017
Сообщений: 9
1

Неверное значение переменной

27.07.2017, 02:41. Показов 1042. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В другом скрипте значение checkUp равно true. Почему если присваивать значение переменной chUp в Start, то в OnMouseDown оно становится false? А если же значение присваивать в OnMouseDown, то все нормально и chUp = true?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using UnityEngine;
using System.Collections;
 
public class BottonController : MonoBehaviour {
 
    private bool chUp ;
    private bool chDown;
    private bool chLeft;
    private bool chRight;
 
    void Start()
    {
        chUp = gameObject.GetComponentInChildren<upColliderCheck>().checkUp;
    }
 
    void OnMouseDown ()
    {
        
        if (chUp == true) 
        {
            if(chDown == true)
            {
                if(chLeft == true)
                {
                    transform.position = new Vector2(transform.position.x + 2, transform.position.y);
                }
 
                else
                {
                    transform.position = new Vector2(transform.position.x - 2, transform.position.y);
                }
            }
 
            else
            {
                transform.position = new Vector2(transform.position.x, transform.position.y - 2);
            }
        }
 
        else
        {
            transform.position = new Vector2(transform.position.x, transform.position.y + 2);
        }
 
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2017, 02:41
Ответы с готовыми решениями:

Неверное значение в переменной $_SESSION
Всем добрый день! На сайте, с которым я разбираюсь реализован функционал с обратной связью. Для...

Потоки. Неверное значение переменной
static string s=&quot;1&quot;; static void go() { s += &quot;0&quot;; ...

Выводится неверное значение переменной score
вместо значения &quot;score&quot; пишет значение &quot;6356748&quot; даже если я пишу буквы или цифры #include...

Выводит неверное значение переменной sum
выводит неверное значение sum, что не так? ...

1
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
02.08.2017, 15:58 2
Видимо возникает ситуация, когда OnMouseDown() вызывается, когда Start() ещё не вызывался. В таком случае поле chUp нигде не инициализируется и принимает значение по-умолчанию, т.е. False.
Хотя, судя по схеме исполнения событий, такое сделать затруднительно: Execution Order of Event Functions
Попробуйте инициализировать chUp в методе Awake()
0
02.08.2017, 15:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2017, 15:58
Помогаю со студенческими работами здесь

не могу найти ошибку. апач ругается на неверное значение переменной
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; ...

Неверное выводимое значение при смене беззнаковой переменной на знаковую
Вот задача: На спутнике «Фотон» установлен прибор, предназначенный для измерения энергии...

Ошибка при использовании структуры или непредвиденное поведение (неверное значение переменной)
Добрый вечер. Столкнулся с проблемой при написании программы. Требуется нарисовать линию из...

Неверное имя переменной в read в скрипте
день добрый. почему когда я пишу в шелле read k то все нормально, а если пробовать в шелле...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru