Estou tendo dificuldade em fazer o detect box virar junto com o inimigo, como eu poderia fazer isso?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou tendo dificuldade em fazer o detect box virar junto com o inimigo, como eu poderia fazer isso?
Olá Kaio! Como vai?
Vou te ajudar com isso. Pelo que você descreveu, parece que o problema está relacionado à rotação do detectPosition quando o inimigo muda de direção.
Uma maneira de resolver isso é garantir que o detectPosition seja um filho do inimigo no hierarquia. Dessa forma, quando o inimigo vira, o detectPosition também irá virar automaticamente. Aqui está um exemplo de como você pode fazer isso:
Certifique-se de que o detectPosition seja um filho do GameObject do inimigo na hierarquia do Unity. Isso pode ser feito arrastando o detectPosition para dentro do GameObject do inimigo na hierarquia.
No script do seu inimigo, quando você inverte o sprite do inimigo, também inverta a posição do detectPosition no eixo X. Isso pode ser feito ajustando a escala local do detectPosition. Veja um exemplo de como isso pode ser feito:
private void FlipSpriteAndDetectPosition()
{
if (moveDirection < 0)
{
transform.localScale = new Vector3(-1, 1, 1);
detectPosition.localPosition = new Vector3(-Mathf.Abs(detectPosition.localPosition.x), detectPosition.localPosition.y, detectPosition.localPosition.z);
}
else if (moveDirection > 0)
{
transform.localScale = Vector3.one;
detectPosition.localPosition = new Vector3(Mathf.Abs(detectPosition.localPosition.x), detectPosition.localPosition.y, detectPosition.localPosition.z);
}
}
FlipSpriteAndDetectPosition() no lugar onde você está atualmente invertendo o sprite do inimigo.Com essas alterações, o detectPosition deve virar junto com o inimigo. Lembre-se de ajustar as posições e escalas conforme necessário para se adequar ao seu jogo específico.
Espero ter ajudado e bons estudos!