Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

erro quando o tiro acerta o zumbi

Quando o tiro acerta o zumbi o jogo da esse erro e para de funcionar.

NullReferenceException: Object reference not set to an instance of an object Interface.atualizarQuantidadeZm () (at Assets/Códigos/Interface.cs:32) zumbi.morrer () (at Assets/Códigos/zumbi.cs:78) zumbi.tomardano (System.Int32 dano) (at Assets/Códigos/zumbi.cs:72)

Código zumbi 1 Código zumbi 2 Código Interface 1 Código Interface 2

9 respostas

Abri uma resposta sem querer

Oi, Enzo, tudo bem?

NullReferenceException é um erro que acontece normalmente quando algo acessado está nulo, confere as variáveis da linha dos erros que seriam o codigoInterface do código do zumbi e textoquantidadeZm no código da interface, o erro provavelmente é nesse último.

Pra conferir você pode deixar as variáveis public e ver se estão sendo preenchiadas

Olá professor, eu conferi o que você disse e a variável está preenchida, porem continua dando o mesmo erro

As duas estão?

Consegue fazer um .zip do seu projeto e colocar em algum lugar para download? Pode ser um Dropbox, Google Drive, WeTransfer ou qualquer coisa. Só lembra de deixar o compartilhamento publico.

Com o projeto da pra conferir tudo pra ver se não é algo no Inspector ou alguma outra coisa.

https://1drv.ms/u/s!Aiae5Te4bqll7xOvfw_5H__m3kIQ Acho esse deve funcionar...

Oi, Enzo, tudo bem?

Seu jogador tem o script da interface além da interface em si, então tem que limpar esse. Além disso em alguns scripts você tem duas variáveis para o script de interface como no Jogador, uma delas está nula e a outra não está referenciando o script do Canvas.

Essas duas mudanças devem resolver o problema, bons estudos!

Olá professor. Eu tentei concertar o código apagando uma das interfaces do jogador mas dava erro... então eu tentei arrumar o código juntando as variáveis de interfaces em uma só(arrumando os nomes) mas continua dando varios erros.

Você pode ser mais especifico no que devo fazer por favor. Desde já obrigado.

solução!

Seguem os passos que fiz pra arrumar usando o .zip que você mandou acima:

  • Remover o script Interface do jogador
  • No script do jogador remover a variável public Interface codigojogador;
  • No Inspector preencher a variável Interfacef do Jogador com o Canvas
  • Remover do Start do script do jogador a linha Interfacef= GetComponent<Interface>();
  • Nos dois lugares que tem codigojogador no script do jogador trocamos para Interfacef

Isso faz a barra de vida e o contador voltar a funcionar, se der algum erro você pode mandar aqui.

Funcionou professor... apesar de eu não ter conseguido fazer o item 3... mas agora ta tudo certo obrigado

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