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

262
18 июля 2017, 17:34

Почему после столкновения переменная collis становится true, НО в следующем Update снова false? Ничего не понимаю, прошелся отладкой, нигде нет переприсваивания, да и эта переменная только в этой части кода присутствует

bool collis = false;
// Update is called once per frame
void Update ()
{
    if (collis == false)
    {
        this.transform.position += this.transform.right * speed * Time.deltaTime;
    }
    else Debug.Log(collis);
}
void OnCollisionEnter2D(Collision2D collision)
{
    collis = true;
    Debug.Log(collis);
}

Тоесть из Debug.Log выполнение перескакивает на Update и там уже переменная collis равна false.

Answer 1

Если для вашей игры критично выполнение кода в методе Update() сразу же после метода OnCollisionEnted2D() воспользуйтесь методом LateUpdate()

Документация.

READ ALSO
Как добавить се Sierialize лист в уже созданный файл

Как добавить се Sierialize лист в уже созданный файл

Имеется файл с прописанным туда

277
Как очистить панель в главной форме, через другую форму?

Как очистить панель в главной форме, через другую форму?

Есть пример вопроса на видео (смниже)

325
Где можно хранить dll файлы?

Где можно хранить dll файлы?

Доброй ночи - подскажите возможно ли такое реализовать и если можно в какую сторону копать

369