Olá pessoal, após fazer a aula “Implementando Bola de Fogo no Personagem”, a bola de fogo do personagem, só vai para a direita, mesmo com o personagem virado para a esquerda. Avancei no curso e vi que isso foi resolvido, mas não acho a aula.
Método no script ataque do personagem:
private IEnumerator RealizarAtaqueComBolaDeFogo()
{
bolaDeFogoLiberadaParaUso = false;
animator.SetTrigger(“AtaqueBolaDeFogo”);
yield return new WaitForSeconds(0.3f); // Aguarda a animação de ataque
Projetil bolaDeFogo = Instantiate(bolaDeFogoPrefab, pontoDeLancamentoBolaDeFogo.position, Quaternion.identity);
bolaDeFogo.IniciarLancamento(null, velocidadeBolaDeFogo, danoBolaDeFogo, false);
float contador = 0;
while (contador < tempoDeRecargaBolaDeFogo)
{
contador += Time.deltaTime;
jogadorUI.AtualizarProgressoBolaDeFogo(contador / tempoDeRecargaBolaDeFogo);
yield return null;
}
bolaDeFogoLiberadaParaUso = true; // Libera o ataque novamente
}
método IniciarLancamento no projetil:
public void IniciarLancamento(Transform alvo, int velocidade, int dano, bool ignorarInimigos)
{
if (alvo != null)
{
transform.right = alvo.position - transform.position;
}
this.velocidade = velocidade;
this.dano = dano;
this.ignorarInimigos = ignorarInimigos;
}
Acredito que o problema esteja em: Quando o personagem chama o método do IniciarLancamento, ele passa um valor null, isso faz com que transform.rigth nunca seja alterado.
Só não sei como corrigir isso…