Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Refatorar o ControlaJogador

Queria fazer a mesma coisa de enxutar o ControlaJogador, da mesma forma que no ControlaInimigo de separar a movimentação em um script separado, porem deu varios erros, como eu posso fazer da maneira certa?

public float Velocidade = 10; private Vector3 direcao; public LayerMask MascaraChao; public GameObject TextoGameOver; private Rigidbody rigidbodyJogador; private Animator animatorJogador; public int Vida = 100; public ControlaInterface scriptControlaInterface; public AudioClip SomDano;

private void Start()
{
    Time.timeScale = 1;
    rigidbodyJogador = GetComponent<Rigidbody>();
    animatorJogador = GetComponent<Animator>();
}


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

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


    if(direcao != Vector3.zero) 
    {
        animatorJogador.SetBool("Movendo", true);
    }
    else
    {
        animatorJogador.SetBool("Movendo", false);
    }

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

        }
    }


}
void FixedUpdate()
{
rigidbodyJogador.MovePosition
   (rigidbodyJogador.position + 
   (direcao * Velocidade * Time.deltaTime));

   Ray raio = Camera.main.ScreenPointToRay(Input.mousePosition);
   Debug.DrawRay(raio.origin, raio.direction * 100, Color.red);

   RaycastHit impacto;

   if(Physics.Raycast(raio, out impacto, 100, MascaraChao)) 
   {
    Vector3 posicaoMiraJogador = impacto.point - transform.position;

    posicaoMiraJogador.y = 0;

    Quaternion novaRotacao = Quaternion.LookRotation(posicaoMiraJogador);

    rigidbodyJogador.MoveRotation(novaRotacao);

   }
}

public void TomarDano (int dano)
{
    Vida -= dano;
    scriptControlaInterface.AtualizarSliderVidaJogador();
    ControlaAudio.instancia.PlayOneShot(SomDano);

    if(Vida <= 0) 
    {
    Time.timeScale = 0;
    TextoGameOver.SetActive(true); 
    }
   
}
1 resposta
solução!

Oi, Vitor, se você continuar acredito ser as próximas aulas.

Mas se tiver qualquer dúvida ou erro que tá dando pode mandar aqui!