Unity2D: добавить текст к элементу Hardbody2D

Я новичок в Unity, и я начал с Catch Game Tutorial, чтобы научиться создавать 2D-игры. Сейчас все работает, но для моих нужд я хотел бы добавить разные текстовые поля к каждому из упавших элементов (в учебнике шары для боулинга). Эти тексты должны двигаться вместе с объектами. Я знаю, что могу динамически изменять текст в коде, но я не мог понять, как правильно добавить элемент.

Я пытался добавить текстовый объект как дочерний объект game object, а также пытался создать новый game object, содержащий текст, но я не могу расположить элемент перед фоном и над желаемым элементом (я не могу выбрать сортировочный слой для этого)

Представьте, что это объект, который нужно собрать, и я хотел бы показать такой текст:

введите описание изображения здесь

Мои вопросы:

1. Как добавить текст, который будет отображаться в правильной позиции (GUIText, текст в игровом объекте, только текст или что-то еще?

2. Как я могу заставить этот текст динамически двигаться вместе с упавшим предметом?

3. Могу ли я установить фон для моего текста, как показано выше?

Заранее спасибо!

1 ответ

Решение

Я нашел решение для своей проблемы и сделал следующее:

  1. Я создал Sprite с моим желаемым фоном (черный прямоугольник) и добавил его в сцену

  2. Я создал 3D-текст и добавил его как дочерний элемент в созданный Sprite (и масштабировал его, и позиционировал его)

  3. Я добавил скрипт в 3D-текст со следующим содержанием:

    void Start () {
        this.gameObject.GetComponent<Renderer>().sortingLayerName = "[MyLayerName]";
        this.gameObject.GetComponent<Renderer>().sortingOrder = 3;
    }
    
  4. Я добавил Sprite (с текстом в качестве дочернего) в свой gameObject (ananas)

  5. Обновленный объект в папке Prefabs

Возможно, мое решение поможет другим людям, сталкивающимся с подобной проблемой.

Другие вопросы по тегам