В Unity и NGUI сборка onClick notify работает с общедоступной функцией, но логическое значение теряет свое значение при обновлении.

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

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

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

Вот код моего контроллера:

private bool rotate;

// This is the function in the notify part of onClick in the NGUI button.
    public void rotateHero () {

         rotate = true;  // This works it sets it to true.

    } 


public void Update()
    {
        UpdateInput();

        //if (_nextFallStep.PopIsOccurred() && Time.time - _lastInputTime >= InputDelay)
     if (_nextFallStep.PopIsOccurred())
        {
            MoveDown();
            _lastInputTime = Time.time;
        }
    }


private void UpdateInput()
    {

        if (rotate) {

         if (Board.CanRotate(_block))
                _block.Rotate();

          debug.log(rotate);  //Always returns false.. when it should be true.
          rotate = false;

      }

person scranley    schedule 30.05.2014    source источник
comment
Вы уверены, что использовали правильные теги...   -  person rene    schedule 30.05.2014


Ответы (1)


Частная переменная должна быть статической.

static bool rotate;
person scranley    schedule 02.06.2014