Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Коли і як уникати використання вузлів для всього¶
Вузли дешеві у виробництві, але навіть вони мають свої межі. Проєкт може мати десятки тисяч вузлів, які все роблять. Чим складнішою є їх поведінка, тим більше напруження кожен з них додає до проєкту.
Godot забезпечує легкіші об'єкти для створення API, які використовують вузли. Обов’язково пам’ятайте про них, як про варіанти, під час розробки функцій свого проєкту.
Об'єкт: Самий легкий об'єкт, оригінальний Об'єкт повинен використовувати ручне управління пам'яттю. З огляду на це, не надто складно створити свої власні структури даних, навіть структури вузлів, які також легші за клас Вузла.
Зразок: Дивіться вузол Дерево. Він підтримує високий рівень налаштування змісту із довільною кількістю рядків і стовпців. Дані, які він використовує для створення своєї візуалізації, насправді є деревом об'єктів TreeItem.
Переваги: Спрощення власного API для об’єктів меншого масштабу допомагає покращити його доступність і покращити час ітерації. Замість того, щоб працювати з усією бібліотекою Вузлів, ви створюєте скорочений набір Об’єктів, з яких вузол може генерувати та управляти відповідними під-вузлами.
Примітка
Потрібно бути обережним при поводженні з ними. Можна зберегти об’єкт у змінній, але ці посилання без попередження можуть стати недійсними. Наприклад, якщо творець об’єкта вирішить видалити його з нізвідки, це спричинить стан помилки, при наступній спробі отримати доступ до нього.
ref:RefCounted <клас_RefCounted>: Лише трохи складніший за Object. Вони відстежують посилання на себе, видаляючи завантажену пам'ять лише тоді, коли більше немає посилань на себе. Вони корисні у більшості випадків, коли потрібні дані у користувацькому класі.
Приклад: Дивіться об'єкт FileAccess. Він функціонує так само, як і звичайний об'єкт, за винятком того, що його не потрібно видаляти самостійно.
** Переваги: ** ті самі, що і в Об'єкта.
ref:Ресурс <клас_Ресурсу>: Лише трохи складніший за RefCounted. Вони мають вроджену здатність серіалізувати/десеріалізувати (тобто зберігати і завантажувати) властивості своїх об'єктів до/з файлів ресурсів Godot.
Зразок: Скрипти, PackedScene (для файлів сцен) та інші типи, як кожен із класів AudioEffect. Все це можна зберегти та завантажити, тому воно поширюється як ресурс.
Переваги: Багато вже було сказано про переваги doc_resources` над традиційними методами зберігання даних. В контексті використання Ресурсів над вузлами, їх головна перевага полягає у сумісності з Інспектором. Хоча вони майже такі ж легкі, як Object/RefCounted, вони все ще можуть відображати та експортувати властивості у інспекторі. Це дозволяє їм виконувати функції, подібні до під-вузлів, з точки зору зручності використання, а також підвищити продуктивність, якщо ви плануєте мати багато таких ресурсів/вузлів у сцені.