Olá, está ocorrendo um erro nos códigos "AnimacaoPersonagem" e "controlarJogador" fazendo aparecer "Parameter type 'Movendo' does not match". Além de aparecer infinitas mensagens, a personagem não para de andar e fazer o som do passo.
Aqui está o meu código⇩ AnimacaoPersonagem ` using System.Collections; using System.Collections.Generic; using UnityEngine;
public class AnimacaoPersonagem : MonoBehaviour { public Animator meuAnimator;
void Awake ()
{
meuAnimator = GetComponent<Animator>();
}
public void Atacar (bool estado)
{
meuAnimator.SetBool("Atacando", estado);
}
public void Movimentar(float estado)
{
meuAnimator.SetFloat("Movendo", estado);
}
public void Morrer ()
{
meuAnimator.SetTrigger("Morrendo");
}
}
***controlarJogador***
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class controlarJogador : MonoBehaviour, IMatavel, ICuravel {
private Vector3 direcao;
public LayerMask MascaraChao;
public GameObject TextoGameOver;
public ControlarInterface scriptControlarInterface;
public AudioClip SomDeDano;
private MovimentoJogador meuMovimentoJogador;
private AnimacaoPersonagem animacaoJogador;
public Status statusJogador;
void Start()
{
Time.timeScale = 1;
meuMovimentoJogador = GetComponent <MovimentoJogador>();
animacaoJogador = GetComponent<AnimacaoPersonagem>();
statusJogador = GetComponent<Status>();
}
// Update is called once per frame
void Update()
{
animacaoJogador.Movimentar(meuMovimentoJogador.Direcao.
magnitude);
}
void FixedUpdate()
{
meuMovimentoJogador.Movimentar(statusJogador.Velocidade);
meuMovimentoJogador.RotacaoJogador();
}
//faz o Jogador tomar dano do zumbi
public void TomarDano(int dano)
{
statusJogador.Vida -= dano;
scriptControlarInterface.AtualizarSliderVidaJogador();
ControlarAudio.instancia.PlayOneShot(SomDeDano);
if (statusJogador.Vida <= 0)
{
Morrer();
}
}
//faz o Jogador morrer e aparecer as interfaces
public void Morrer ()
{
scriptControlarInterface.GameOver();
}
public void CurarVida (int quantidadeDeCura)
{
statusJogador.Vida += quantidadeDeCura;
if(statusJogador.Vida > statusJogador.VidaInicial)
{
statusJogador.Vida = statusJogador.VidaInicial;
}
scriptControlarInterface.AtualizarSliderVidaJogador();
}
}
/GetComponent().MovePosition (GetComponent().position + (statusJogador.Velocidade * Time.deltaTime * direcao));/ ` Espero que possam me ajudar a resolver este problema, para que eu possa continuar minha formação neste curso. Bom dia a todos.