2
respostas

NullReferenceException

NullReferenceException: Object reference not set to an instance of an object
MostradorVida.Update () (at Assets/Scripts/MostradorVida.cs:18)

erro refere a linha:

campoTexto.text = "Vida: " + jogador.GetVida();

O jogo roda normal, funciona tudo mas esse erro não era pra existir...já fiz inúmeras mudanças e o erro continua, pelo visto é no "campoTexto.text".

public class MostradorVida : MonoBehaviour {
    private Text campoTexto;
    [SerializeField] private Jogador jogador;
    void Start () {
        campoTexto = GetComponent<Text>();
    }
    void Update () {
        campoTexto.text = "Vida: " + jogador.GetVida();
    }
}
public class Jogador : MonoBehaviour {
    [SerializeField]private int vida;
    public int GetVida() {
        return vida;
    }
    public void PerdeVida() {
        vida--;
    }
}
2 respostas

Olá Pedro,

O código tá parecendo correto mesmo... o marcador de vida está sendo mostrado direitinho na tela?

Outra coisa, verifique se o seu MostradorDeVida possui um componente Text lá na aba Inspector do editor do Unity.

Vamos tentando coletar essas informaçoes pra gente tentar chegar no erro!

Eu também tive esse problema, e eu resolvi colocando o compoTexto como um SerializeField e coloquei o texto no campo

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software