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

Animação Parou de Funcionar

Bom dia, tarde ou boa noite!

Segui o passo a passo para fazer a refatoração dos códigos de animação, mas ela parou de funcionar e a Unity ta mostrando um erro.

NullReferenceException: Object reference not set to an instance of an object
AnimacaoPersonagem.Movimentar (System.Single valorMovimento) (at Assets/Scripts/AnimacaoPersonagem.cs:21)
ControlaJogador.Update () (at Assets/Scripts/ControlaJogador.cs:34)

Já rodei tudo e não faço ideia do que pode ser... help!

ControlaJogador.cs

private AnimacaoPersonagem animacaoJogador;
private void Start()
    {
        Time.timeScale = 1;
        meuMovimentoJogador = GetComponent<MovimentoJogador>();
        animacaoJogador = GetComponent<AnimacaoPersonagem>();
    }

    // Update is called once per frame
    void Update()
    {
        float eixoX = Input.GetAxis("Horizontal");
        float eixoZ = Input.GetAxis("Vertical");

       direcao = new Vector3(eixoX, 0, eixoZ);

        animacaoJogador.Movimentar(direcao.magnitude);

        if(Vida <= 0)
        {
            if(Input.GetButtonDown("Fire1"))
            {
                SceneManager.LoadScene("motel_scene");
            }
        }

    }

AniamcaoPersonagem.cs

private Animator meuAnimator;

    void awake ()
    {
        meuAnimator = GetComponent<Animator>();
    }

    public void Atacar (bool estado)
    {
        meuAnimator.SetBool("Atacando", estado);
    }

    public void Movimentar (float valorMovimento)
    {    
        meuAnimator.SetFloat("Movendo", valorMovimento);
    }
3 respostas

Oi, Icaro, tudo bem?

Pode subir seu projeto num Google Drive, Dropbox, etc em formato .zip e mandar o link para a gente?

O erro pode ser em mais de um lugar então fica mais fácil pelo projeto :)

Beleza! Segue o link do WeTransfer

https://we.tl/t-PnipW9UrXL

Caso já esteja inválido quando você acessar, eu fiz a besteira de commitar com erro na master, então: https://github.com/icaroc/study_zombiegame

solução!

Oi, Icaro, tudo bem?

Vi que no seu código de AnimacaoPersonagem o Awake estava com o A minusculo então o Unity não estava rodando esse método automaticamente.

Além disso parece que no seu Prefab do zumbi você vai ter que colocar o script novamente mas pareceu que isso resolvia o erro :)

Pode conferir?