Владимир Попов
Профи
(935)
1 неделю назад
Готовый код
using UnityEngine;
using TMPro;
public class Game : MonoBehaviour
{
public static int score;
public TMP_Text scoreText;
public int clickValue;
[Header("Upgrade Click")]
public int upgradeCost;
public int upgradeValue;
public TMP_Text upgradeInfoText;
public void OnClick()
{
score += clickValue;
scoreText.text = score.ToString() + "$";
}
public void UpgradeClick()
{
if(score >= upgradeCost)
{
score -= upgradeCost;
clickValue += upgradeValue;
upgradeCost *= 2;
scoreText.text = score.ToString() + "$";
upgradeInfoText.text = upgradeCost.ToString() + " $ " + upgradeValue + " clicks";
}
}
}
Владимир ПоповПрофи (935)
1 неделю назад
1. Проверь синтаксис в коде. У тебя отсутствует + в строке:
upgradeInfoText.text = upgradeCost.ToString() + " $ " + upgradeValue + " clicks";
Добавь + перед upgradeValue.
2. Исправь опечатку в переменной upgredeValue. Должно быть upgradeValue.
3. Закрой все скобки } корректно. Сейчас у тебя есть ошибка, потому что в конце файла не закрыта скобка класса Game.
using TMPro;
public class Game : MonoBehaviour
{
public static int score;
public TMP_Text scoreText;
public int clickValue;
[Header("Upgrade Click")]
public int upgradeCost;
public int upgradeValue;
public TMP_Text upgradeInfoText;
public void OnClick()
{
score += clickValue;
scoreText.text = score.ToString() + "$";
}
public void UpgradeClick()
{
if(score>= upgradeCost)
{
score-= upgradeCost;
clickValue += upgredeValue;
upgradeCost *= 2;
scoreText.text = score.ToString() + "$";
upgradeInfoText.text = upgradeCost.ToString() + " $ " upgradeValue + " clicks";
}
}