#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:
Вы можете дважды щелкнуть по ошибке, чтобы увидеть, откуда она исходит. Вы получаете информацию о имени скрипта и строке, откуда исходит ошибка. Надеюсь, это поможет.