False boolean останавливает использование скрипта более одного раза - PullRequest
0 голосов
/ 31 марта 2019

Я собираю систему экзаменов для игры, над которой я работаю, и она работает так, как задумано, хотя часть сценария будет работать только для одного игрового объекта.Когда удерживаемое логическое значение истинно, я хочу, чтобы управление проигрывателем было отключено и включало его, когда оно ложно.Проблема в том, что это всегда ложь, поэтому, когда я пытаюсь подобрать другой объект, это не остановит контроль игрока.

Я предполагаю, что это потому, что он работает в функции обновления.Я пытался поместить их в их собственные функции и вызывать их, когда bool имеет значение true / false, но я получаю тот же результат.

Я также написал другой скрипт, который включал / выключал управление плеером, ноэто было сделано с помощью двух отдельных входов мыши, и это сработало, как и ожидалось.

У меня есть скрипт, который обрабатывает взаимодействия raycast и включает / выключает удерживаемое логическое значение.Пока лучевая трансляция касается, сценарий объекта активируется и обнуляется, если он не касается.Сценарий объекта выглядит следующим образом ..

void Update()
{
    if (held == true)
    {
        thisObject.transform.position = holdPos.position;
        //transform.rotation = holdPos.rotation;
        lockLook.Control.Toggle = false;
        movelock.Control.Toggle = false;
    }
    else
    {
        thisObject.transform.position = startPos;
        thisObject.transform.rotation = startRot;
        lockLook.Control.Toggle = true;
        movelock.Control.Toggle = true;
    }
}

Я предполагаю, что мне нужно найти способ вызвать ложное логическое значение только один раз.

...