2014-05-30 1 views
0

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

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

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

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

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; 

     } 
+0

Вы уверены, что используете правильные метки ... – rene

ответ

0

приватных переменным нужно быть статичными.

static bool rotate;