Как вы размещаете текст над родительским элементом в Unity?

#c# #visual-studio #unity3d

#c# #visual-studio #unity3d

Вопрос:

В моей игре на платформе Unity у меня есть враг с простым сценарием патрулирования, я бы хотел, чтобы текст был размещен над ним, и он оставался там. Как я мог бы это сделать?

 private void FixedUpdate()
{
    if(hit.collider != false)
    {
        if (isFacingRight)
        {
            rb.velocity = new Vector2(speed, rb.velocity.y);
            
        }
        else
        {

            
            rb.velocity = new Vector2(-speed, rb.velocity.y);
        }
    }
    else
    {
        isFacingRight = !isFacingRight;
        transform.localScale = new Vector3(-transform.localScale.x, 1f, 1f);
        m_Object.transform.localScale = new Vector3(-transform.localScale.x, 1f, 1f);
    }
}
 

Ответ №1:

Используйте TextMeshPro пакет и добавьте TextMesh в качестве дочернего элемента врага, прямо над его головой. Это сохранит текст над ним

Комментарии:

1. Отлично, однако в моем сценарии патрулирования он идет вправо, а затем влево, как я могу сделать так, чтобы текст тоже не переворачивался.

2. определите, перевернут ли символ, а затем установите локальный масштаб x текста равным 1 или -1

3. кроме того, вы можете просто перевернуть спрайт, а не весь gameobject. до youz

4. Извините, я совсем новичок, как мне установить локальный масштаб x равным 1 или -1, я отредактирую вопрос, чтобы включить сценарий патрулирования.