Estou tendo dificuldade em fazer o detect box virar junto com o inimigo, como eu poderia fazer isso?
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!