0

矢印キーを押すと正常に動作するコントローラー スクリプトを使用して、ゲーム オブジェクトのインスタンスを回転させる 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;

      }
4

1 に答える 1

0

プライベート変数は静的である必要がありました。

static bool rotate;
于 2014-06-02T11:56:15.313 に答える