AnchorLayer
Слой управления экранными UI-виджетами, привязанными к мировым координатам внутри WorldCanvas.
Обзор
AnchorLayer управляет коллекцией экранных UI-виджетов, привязанных к мировым координатам внутри WorldCanvas.
Основные задачи:
- Добавление, поиск и удаление привязанных виджетов (add, anchor, remove, clear).
- Размещение интерактивных виджетов (кнопок, меток, панелей), сохраняющих экранный ввод при перемещении камеры.
- Эффективное кэширование снимка якорей для быстрого рендеринга и маршрутизации событий.
Добавление привязанного виджета на холст мира
AnchorWidget anchor = canvas.anchorLayer().add("flag", worldX, worldY, new Button("Waypoint"))
.screenSize(80.0f, 24.0f)
.pivot(0.5f, 1.0f);
Связанные ссылки
- AnchorWidget: Пространственный якорь, привязывающий экранный UI-виджет к мировым координатам с масштабированием от зума, настройкой pivot и отсечением вне экрана.
- WorldCanvas: Холст бесконечного 2D/3D пространства с поддержкой панорамирования, зума камеры, преобразования координат, фоновых слоев и привязанных экранных виджетов.
API
AnchorLayer::add(String, float, float, Widget)
Добавляет UI-виджет, привязанный к указанным мировым координатам.
| Параметр | Тип | Описание |
|---|---|---|
id |
String |
Уникальный строковый идентификатор. |
worldX |
float |
Мировая координата X. |
worldY |
float |
Мировая координата Y. |
widget |
Widget |
UI-виджет для привязки в пространстве мировых координат. |
Возвращает AnchorWidget: Созданный или найденный AnchorWidget..
AnchorLayer::anchor(String)
Находит AnchorWidget по его строковому идентификатору или возвращает null, если не найден.
| Параметр | Тип | Описание |
|---|---|---|
id |
String |
Уникальный строковый идентификатор. |
Возвращает AnchorWidget: Созданный или найденный AnchorWidget..
AnchorLayer::anchors()
Возвращает неизменяемый список всех активных якорей в этом слое.
Возвращает List: Неизменяемый список активных AnchorWidget..
AnchorLayer::clear()
Удаляет и отсоединяет все якоря из этого слоя.
AnchorLayer::remove(AnchorWidget)
Удаляет указанный AnchorWidget из этого слоя.
| Параметр | Тип | Описание |
|---|---|---|
anchor |
AnchorWidget |
Экземпляр AnchorWidget для удаления. |
Возвращает boolean: True, если активно, включено или успешно..
AnchorLayer::remove(String)
Удаляет привязанный виджет по его строковому идентификатору.
| Параметр | Тип | Описание |
|---|---|---|
id |
String |
Уникальный строковый идентификатор. |
Возвращает boolean: True, если активно, включено или успешно..
AnchorLayer::size()
Возвращает количество активных якорей в этом слое.
Возвращает int: Числовое количество..