我有一个随机更改分数的脚本。 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;
}
答案 0 :(得分:1)
你在两种情况下都将yayButton
设置为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;
}
}