Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в добавлении скрипта юнити

Роман 123 Ученик (86), на голосовании 5 месяцев назад
пишет ошибку что надо изменить в файле на имя скрипта. я изменил, все равно вылезает ошибка
using UnityEngine;
using UnityEngine.UI;


public class ScriptAAA : MonoBehaviour
{
public static int money;
public static int rate = 1;

public Text moneyText;

public void Click()
{
money += rate;
}

public void UpgradeClick()
if (money >= 15)
{
money -= 15;
rate += 1
}
public void update()
{
moneyText.text = "$" + money;
}
}

имя файла "ScriptAAA"
Голосование за лучший ответ
Dians Мастер (2017) 6 месяцев назад
В вашем коде есть несколько ошибок. Вот исправленный вариант:
 using UnityEngine; 
using UnityEngine.UI;

public class ScriptAAA : MonoBehaviour
{
public static int money;
public static int rate = 1;

public Text moneyText;

public void Click()
{
money += rate;
}

public void UpgradeClick()
{
if (money >= 15)
{
money -= 15;
rate += 1;
}
}

private void Update()
{
moneyText.text = "$" + money;
}
}
Вы забыли поставить скобки {} вокруг условия в методе UpgradeClick, также у вас неправильное имя метода update, должно быть Update, и я добавил ключевое слово private перед методом Update, чтобы явно указать доступ к методу.

Попробуйте использовать этот исправленный вариант кода и посмотрите, пропадает ли ваша ошибка.

Сделано ИИ ( Ссылка )
Роман 123Ученик (86) 6 месяцев назад
не помогло, все та же ошибка
Роман 123Ученик (86) 6 месяцев назад
а нет. надо было перезапустить юнити, но все же спасибо
Татьяна Просветленный (36374) 6 месяцев назад
Ошибка может возникать по нескольким причинам. Давайте проверим все потенциальные проблемы и исправим ваш скрипт.

Название класса и файла должны совпадать: Убедитесь, что имя вашего файла действительно совпадает с именем класса. Вы написали, что файл называется "ScriptAAA.cs". Проверьте, что имя файла точно соответствует классу: ScriptAAA.

Правильное использование методов и синтаксиса: В вашем коде есть несколько ошибок синтаксиса, которые нужно исправить.

исправленный вариант вашего скрипта:
 using UnityEngine; 
using UnityEngine.UI;

public class ScriptAAA : MonoBehaviour
{
public static int money;
public static int rate = 1;

public Text moneyText;

public void Click()
{
money += rate;
}

public void UpgradeClick()
{
if (money >= 15)
{
money -= 15;
rate += 1;
}
}

void Update()
{
moneyText.text = "$" + money;
}
}
Основные исправления:
Добавлены фигурные скобки для метода UpgradeClick:
 public void UpgradeClick() 
{
if (money >= 15)
{
money -= 15;
rate += 1;
}
}
Исправлено имя метода update на Update:
 void Update() 
{
moneyText.text = "$" + money;
}
Добавлены необходимые закрывающие точки с запятой:

В методе UpgradeClick добавлена точка с запятой rate += 1;.
После этих исправлений ваш скрипт должен компилироваться и работать правильно. Убедитесь, что имя файла ScriptAAA.cs действительно соответствует имени класса ScriptAAA.
Похожие вопросы