Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Вузли шаблонів GUI

Вузли шаблонів GUI забезпечують потужний механізм створення компонентів GUI (GUI components) для повторного використання на основі спільних шаблонів або «префабів». У цьому посібнику пояснено цю можливість і те, як нею користуватися.

Шаблон GUI — це сцена GUI, екземпляр (instance) якої створюється вузол за вузлом в іншій сцені GUI. Потім можна перевизначити будь-які значення властивостей вузлів початкового шаблону.

Створення шаблону

Шаблон GUI — це звичайна сцена GUI, тому його створюють так само, як будь-яку іншу сцену GUI. Клацніть правою кнопкою миші у потрібному місці панелі Assets і виберіть New... ▸ Gui.

Створення шаблону

Створіть шаблон і збережіть його. Зауважте, що вузли екземпляра буде розміщено відносно початку координат, тому доцільно створити шаблон у позиції 0, 0, 0.

Створення екземплярів із шаблону

Ви можете створити будь-яку кількість екземплярів на основі цього екземпляра. Створіть або відкрийте сцену GUI, у якій хочете розмістити шаблон, потім клацніть правою кнопкою миші розділ Nodes на панелі Outline і виберіть Add ▸ Template.

Створення екземпляра

Укажіть у властивості Template файл сцени GUI шаблону.

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

Екземпляри

Будь-яку змінену властивість позначено синім кольором у редакторі. Натисніть кнопку скидання поруч із властивістю, щоб відновити її значення з шаблону:

Властивості

Будь-який вузол із перевизначеними властивостями також позначено синім кольором на панелі Outline:

Панель Outline

Екземпляр шаблону відображається на панелі Outline як запис, який можна згортати. Однак слід пам’ятати, що цей елемент на панелі не є вузлом. Сам екземпляр шаблону також не існує під час виконання, але всі вузли, що входять до нього, існують.

Вузли, що входять до екземпляра шаблону, автоматично отримують імена з префіксом і скісною рискою ("/"), доданими перед їхнім Id. Префіксом є Id, заданий для екземпляра шаблону.

Змінення шаблонів під час виконання

Скриптам, які змінюють вузли, додані через механізм шаблонів, або запитують інформацію про них, потрібно лише враховувати іменування вузлів екземпляра й додавати Id екземпляра шаблону як префікс імені вузла:

if gui.pick_node(gui.get_node("button_1/button"), x, y) then
    -- Do something...
end

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

Якщо зі сценою GUI шаблону пов’язаний скрипт, він не входить до дерева вузлів екземпляра. До кожної сцени GUI можна прикріпити лише один скрипт, тому логіка вашого скрипту має міститися в тій сцені GUI, у якій ви створили екземпляри шаблонів.