Создайте текст пользовательского интерфейса
Иерархия › 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; }