Создайте текст пользовательского интерфейса

Иерархия › R-Click › Пользовательский интерфейс › Текст
Вы заметите, что холст и система событий созданы. Все элементы пользовательского интерфейса по умолчанию будут помещены в Canvas. Чтобы увидеть это в представлении «Сцена», вам нужно немного уменьшить масштаб. Система событий, необходимая для взаимодействия с кнопкой пользовательского интерфейса и т. д.
Переместите элемент создания пользовательского интерфейса в представление «Сцена» и посмотрите, как он размещен в представлении «Игра».

Пользовательский интерфейс и разные размеры экрана

Всегда изменяйте размер окна и проверяйте, работает ли пользовательский интерфейс на разных размерах экрана. Ниже вы видите, как текст выпадает за пределы экрана.

Отрегулируйте якорь

Это определяет, из какой точки объекта рассчитывается позиция.
В этом случае мы устанавливаем его в верхний правый угол, чтобы он всегда находился на расстоянии X и Y единиц от правого верхнего угла экрана.

Отрегулируйте размер пользовательского интерфейса в зависимости от размера экрана

В иерархии выберите: Холст (объект)
Масштабирование на холсте (сценарий) › Режим масштабирования пользовательского интерфейса › Масштабирование с размером экрана
Не забудьте для установки эталонного разрешения.

Холст (компонент) › Пространство экрана в режиме рендеринга -Наложение — означает, что он всегда находится над игровым экраном)

Система баллов

Вот шаги по обновлению игровых сценариев, чтобы добавить систему очков, когда вы убиваете врага. Вот необходимая логика:

1. Создайте переменную счета
2. Когда враг мертв, добавьте X к счету
3. Создайте метод в проигрывателе, чтобы добавить X к счету
4. Вызовите скрипт UIManager для обновления счета

Обновите пользовательский интерфейс из скрипта

1. Создайте сценарий UIManager и добавьте его в объект Canvas
2. Создайте переменную оценки в сценарии UIManager
3. Чтобы использовать пользовательский интерфейс из сценария, нам нужно добавить библиотеку кода, добавив следующую строку в верхняя часть скрипта:

using UnityEngine.UI;

4. Создайте ссылку на игровой игровой объект Score_Text/элемент пользовательского интерфейса.

[SerializeField] private Text scoreText;

5. Назначьте его с помощью Инспектора
6. Создайте общедоступный метод для обновления текста Score.

public void UpdateUI(int scoreUpdate)
    {
        _score += scoreUpdate;
        _scoreText.text = "Score: " + _score;
    }