在Unity和NGUI中,预制的onClick通知在公共函数上工作,但布尔值在更新中失去了它的值

本文关键字:布尔值 工作 失去 更新 NGUI Unity 通知 onClick 函数 | 更新日期: 2023-09-27 18:06:04

我正在尝试添加一个NGUI按钮,该按钮使用按箭头键时工作良好的控制器脚本旋转游戏对象的实例。我开始使用NGUI来添加按钮。按钮在Click上有一个通知,从游戏对象的控制器脚本中选择一个函数。

我添加了一个旋转函数,改变脚本的布尔值,当按钮被点击时,布尔值会改变,但是当从更新函数访问值时,它的值是不正确的。

我假设它与游戏对象的实例有关,或者我没有检索有问题的游戏对象。所以我尝试了这两种方法,布尔值仍然不能正确更新。

下面是我的控制器的代码:
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;
      }

在Unity和NGUI中,预制的onClick通知在公共函数上工作,但布尔值在更新中失去了它的值

私有变量必须是静态的

static bool rotate;