У меня есть вопрос, если и если if. Я хочу, чтобы установить изображение из массива «медали» на основе «забитого» переменный:Unity Flappy bird Значки
if(score > 0)
{
medals[0].SetActive(true);
}
else if
(score > 2)
{
medals[1].SetActive(true);
}
else if
(score > 5)
{
medals[2].SetActive(true);
}
Это показывает только одну картины, медали Бронзовой медали [0]. Есть ли лучший способ сделать это?
Извините за плохой английский и спасибо за советом
мой обновленный код
score += Time.deltaTime;
Scoretext.text = ((int)score).ToString();
if (PlayerPrefs.GetFloat("Highscore") < score)
PlayerPrefs.SetFloat("Highscore", score);
if (score > 3)
{
bronze.GetComponent<Image>().enabled = true;
}
if
(score > 7)
{
silver.GetComponent<Image>().enabled = true;
}
if
(score > 13)
{
gold.GetComponent<Image>().enabled = true;
}
Подумайте о своей логике на мгновение. Счет '> 2', очевидно,'> 0', так что, как вы думаете, что происходит? Пройдите через код. –
@MattBurland я использовал if и else if, он вообще не работал, только одно изображение, но когда я изменяю else, если на каком-то методе он работает нормально. –
И почему вы так думаете? 'if' vs' else if'? 'else' выполняется только в том случае, если' if' оценивается как false. –