Не удается неявно преобразовать тип `string’ в `UnityEngine.GUIText’

#c# #unity3d

#c# #unity-игровой движок

Вопрос:

Я создаю игру в Unity и хочу отображать жизни, оставленные игроком, на экране. Я продолжаю получать сообщение об ошибке: «Не удается неявно преобразовать тип `string’ в UnityEngine.GUIText» в Unity при компиляции кода, показанного ниже. Я видел, что функция обновления в классе Message работает точно так же, как в учебнике, поэтому я не знаю, в чем моя проблема.

 public class GameManager : MonoBehaviour {

    public static int lives = 3;
}

//

public class Message : MonoBehaviour
{

    public Text scoreText;

    void Update()
    {
        scoreText.text = "Lives: "   GameManager.lives.ToString();
    }
}

  

Комментарии:

1. Возможно, исключение не возникает в этой части кода

2. Привет и добро пожаловать в StackOverflow! Я скопировал вставленный ваш код, и он безупречно работает на моей машине. Вы пробовали перезапустить Unity и Visual Studio (или любую другую среду IDE, которую вы используете) и протестировать это снова? Иногда это помогает. Сообщение об ошибке немного странное, хотя. В нем указано, что вы используете UnityEngine.GUIText , который отличается от UnityEngine.UI.Text компонента. У вас есть какие-либо идеи, откуда это взялось?

3. Перезапуск Unity сделал свое дело! Код начал работать без сбоев после перезагрузки. Большое спасибо за ответы!

Ответ №1:

Вы включили: using UnityEngine.UI; поверх своего кода?

Комментарии:

1. Ага! Очевидно, перезапуск Unity и VisualStudio был тем, что мне было нужно lmao. Код начал работать как по волшебству!

Ответ №2:

Вы можете дважды щелкнуть по ошибке, чтобы увидеть, откуда она исходит. Вы получаете информацию о имени скрипта и строке, откуда исходит ошибка. Надеюсь, это поможет.