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

O cubo não vai em direção ao inimigo!

Olá pessoal boa tarde!

Ao tentar aplicar esta primeira funcionalidade no jogo (de atirar e destruir o inimigo), algo está errado. Porque o míssil não vai em direção ao inimigo, ele fica parado no ponto de disparo criando instâncias.

O que pode estar acontecendo?

4 respostas

Olá Lucas,

O movimento do míssil é definido pelo método Update. Verifique se dentro desse método você tem algum código que altera a posição do seu míssil, por exemplo, algo como transform.position.translate.

Se não conseguir encontrar nada, posta aqui o código do seu míssil pra gente ver se tá faltando alguma coisa.

Olá Jefferson, boa noite!

Segue abaixo os códigos que se referem a esta funcionalidade:

void Update()
    {
        Anda();
        if (alvo != null)
        {
            AlteraDirecao();
        }
    }

    private void Anda()
    {
        Vector3 posicaoAtual = transform.position;
        Vector3 deslocamento = transform.forward * Time.deltaTime * velocidade;
        transform.position = posicaoAtual + deslocamento;
    }

    private void AlteraDirecao()
    {
        Vector3 posicaoAtual = transform.position;

        // Quem é esse alvo?
        Vector3 posicaoDoAlvo = alvo.transform.position;

        Vector3 direcaoDoAlvo = posicaoDoAlvo - posicaoAtual;
        transform.rotation = Quaternion.LookRotation(direcaoDoAlvo);
    }
solução!

Olá Lucas,

Aparentemente o seu código está correto. Você chegou a configurar a velocidade do prefab do míssil no Inspector do Unity?

Jefferson, boa tarde!

Era este o problema, não tinha configurado a velocidade! Agora está funcionando, muito 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