Unity C#
Canvas в Unity C# — создание пользовательского интерфейса (UI)
Canvas в Unity — это компонент, на котором отрисовывается пользовательский интерфейс (UI). Он служит основой для всех элементов: кнопок, текста, изображений и других интерактивных деталей. Без Canvas UI-элементы просто не появятся на экране.
Canvas автоматически масштабируется под настройки экрана, поэтому интерфейс адаптируется к разным разрешениям. Это делает его удобным инструментом для кроссплатформенных проектов.
Режимы рендера
У Canvas три основных режима:
- Screen Space — Overlay: фиксирует интерфейс поверх экрана.
- Screen Space — Camera: привязывает Canvas к камере.
- World Space: размещает элементы интерфейса как трёхмерные объекты прямо в сцене.
Настройки позволяют гибко управлять масштабом, порядком слоёв и эффектами. За позицию и размеры дочерних элементов отвечает RectTransform.
Пример кода
Простой счётчик очков: по нажатию пробела значение растёт, а текст на Canvas обновляется:
using UnityEngine;
using UnityEngine.UI;
public class CanvasExample : MonoBehaviour
{
public Text scoreText;
private int score;
void Start()
{
score = 0;
UpdateScore();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
score += 10;
UpdateScore();
}
}
void UpdateScore()
{
scoreText.text = "Счёт: " + score.ToString();
}
}