Початок роботи з Visual Scripting¶
Як і у всьому, що є в Godot, ми надаємо пріоритет хорошому досвіду, а не копіюванню, або інтеграції, сторонніх рішень, які можуть не вписуватися в поточний робочий процес. Це змусило нас написати власну версію функції оптимізованої для якнайкращої роботи з движком.
Visual Script у Godot легко поєднується разом із звичайними скриптами на вкладці Редактора
Насправді Visual Scripting так добре інтегрований в Godot, що важко повірити, що він був доданий лише у версії 3.0. Це тому, що під час редагування, решта панелей і вкладок Godot, діють як палітра, з якої можна перетягувати всі види інформації на полотно скрипту:
Створення скрипту¶
Створення скриптів відбувається так само, як і з іншими мовами скриптів: Виберіть будь-який вузол на сцені та натисніть кнопку "Новий скрипт" у верхньому правому куті панелі Сцена:
Як тільки відкриється меню створення скрипту виберіть тип скрипту "Visual Script". Розширення скрипту має бути ".vs" (від Visual Script!).
Нарешті, відкриється редактор скриптів, який дозволить почати редагування візуального скрипту:
Додавання функції¶
На відміну від інших візуальних скриптів, Visual Scripting в Godot в основному базується на функціях. Це відбувається тому, що він використовує той самий інтерфейс для зв'язку з движком, що й інші движки скриптів. У Godot інтерфейс скриптів універсальний і всі реалізації пристосовані до нього.
Функція - це індивідуальне полотно з підключеними вузлами.
Один скрипт може містити безліч функцій, кожна з яких матиме власне полотно, що забезпечує більшу організацію.
Існує три основні способи додавання функцій у скрипт:
Перевизначення наявної вбудованої функції¶
Більшість типів вузлів, та інших типів об'єктів, у Godot містять віртуальні функції. Це функції, які будуть викликані (роботою вашого коду), коли щось станеться, і їх можна знайти в характеристиках. Ці функції перераховуються при натисканні піктограми «Перевизначити» на панелі елементів:
У наступному прикладі функція буде виконуватися, коли вузол завантажується та додається до запущеної сцени. Для цього буде замінено віртуальний метод _ready():
Нарешті, з’являється полотно для цієї функції із зазначенням назви перевизначеної функції:
Деякі функції очікують, що ви повернете якесь значення, такі функції при створення додадуть вузол повернення:
Підключення сигналу до функції¶
Вузли з дерева випромінюють сигнали, коли щось відбувається. Godot використовує сигнали для найрізноманітніших речей. Типовим прикладом може бути кнопка, яка видає сигнал "натиснуто" при фактичному натисканні.
Для цього потрібно вибрати вузол і відкрити вкладку Вузол. Це дозволить перевірити сигнали. Після їх відображення підключіть сигнал "натиснуто" ("pressed"):
Це відкриє діалогове вікно підключення. У цьому діалоговому вікні потрібно вибрати вузол, до якого буде підключений сигнал, і функцію, яка прийме сигнал:
Якщо це зробити правильно, в нашому скрипті буде створена нова функція, і сигнал автоматично буде підключений до неї:
Створення функції вручну¶
Останній спосіб створення функцій - це зробити її вручну. Це не самий поширений спосіб, його використовують тільки при нагальній потребі. Власні функції працюють, коли інший (або той самий) скрипт викликає їх вручну. В основному їх використовують для розбиття більшої функції на кілька керованих фрагментів та повторного використання вашого візуального коду.
Щоб створити функцію вручну, натисніть велику кнопку "Плюс", і нова функція буде додана з назвою за замовчуванням:
ЇЇ можна перейменувати, просто двічі клацнувши на ім'я:
Щоб відредагувати "аргументи", які може отримати ця функція (значення, які ви їй передаєте, коли викликаєте), просто натисніть на вузол функцій і перевірте інспектора:
Більше про це далі в цьому документі.