簡體   English   中英

布爾不使用Unity中的代碼更新

[英]boolean not updating with code in Unity

我有一個腳本,可以隨機更改分數。 A和B。我希望分數根據情況將按鈕類型從false更改為true。 由於某種原因,它不會改變。

除非分數是偶數,否則最后一個腳本應不斷更改對或錯。 我也只希望它們持續到按下下一個按鈕。

我已經打印出了信息,所以我知道分數似乎沒有被計算出來。

public static bool yayButton = false;
public static bool booButton = false;

ScoreManager.scoreDisplayA;
ScoreManager.scoreDisplayB;

if(ScoreManager.scoreDisplayA > ScoreManager.scoreDisplayB){
        yayButton = true;
}
if(ScoreManager.scoreDisplayB > ScoreManager.scoreDisplayA){
        yayButton = true;
}

您在兩種情況下都將yayButton設置為true ,所以這是您的第一個錯誤。

使用此代碼,一旦變量之一變為true,它就始終為true,因此我認為您需要將其他變量設置為false。

並且此代碼必須在Update()FixedUpdate()方法中才能檢測ScoreManager的新變化。

您的最終代碼應如下所示:

public static bool yayButton = false;
public static bool booButton = false;

ScoreManager.scoreDisplayA;
ScoreManager.scoreDisplayB;

void Start()
{
    // define the ScoreManager.scoreDisplayA and B here.
    // Something like this:
    // ScoreManager.scoreDisplayA = GameObject.Find("ScoreManager").GetComponent<scoreDisplayA>();
}

void Update()
{
    if(ScoreManager.scoreDisplayA > ScoreManager.scoreDisplayB){
        yayButton = true;
        booButton = false;
    }
    if(ScoreManager.scoreDisplayB > ScoreManager.scoreDisplayA){
        yayButton = false;
        booButton = true;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM