[英]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.