Node
Успадковує: Object
Успадковано від: AnimationMixer, AudioStreamPlayer, CanvasItem, CanvasLayer, EditorFileSystem, EditorPlugin, EditorResourcePreview, HTTPRequest, InstancePlaceholder, MissingNode, MultiplayerSpawner, MultiplayerSynchronizer, NavigationAgent2D, NavigationAgent3D, Node3D, ResourcePreloader, ShaderGlobalsOverride, StatusIndicator, Timer, Viewport, WorldEnvironment
Базовий клас для всіх об'єктів сцени.
Опис
Вузли є будівельними блоками Godot. Вони можуть бути призначені як дочірні для іншого вузла, утворюючи деревоподібну структуру. Один вузол може містити будь-яку кількість дочірніх вузлів з вимогою, що всі споріднені вузли (прямі нащадки одного вузла) повинні мати унікальні імена.
Дерево вузлів називається сценою. Сцени можна зберегти на диску, а потім створити екземпляри інших сцен. Це забезпечує дуже високу гнучкість архітектури та моделі даних проектів Godot.
**Дерево сцени: ** SceneTree містить активне дерево вузлів. Коли вузол додається до дерева сцени, він отримує сповіщення NOTIFICATION_ENTER_TREE і запускається його зворотній виклик _enter_tree(). Дочірні вузли завжди додаються після їхнього батьківського вузла, тобто зворотний виклик _enter_tree() батьківського вузла буде запущено перед дочірнім.
Після додавання всіх вузлів у дерево сцени вони отримують сповіщення NOTIFICATION_READY і запускаються відповідні зворотні виклики _ready(). Для груп вузлів зворотний виклик _ready() викликається у зворотному порядку, починаючи з дочірніх і просуваючись до батьківських вузлів.
Це означає, що при додаванні вузла до дерева сцени буде використано такий порядок викликів: _enter_tree() батьківського вузла, _enter_tree() дочірніх вузлів, _ready() дочірніх вузлів і, нарешті,_ready() батьківського вузла (рекурсивно для всього дерева сцени).
Обробка: Вузли можуть перевизначати стан «обробки», щоб отримувати зворотний виклик на кожному кадрі, який вимагає від них щось обробити (виконати дію). Звичайна обробка (зворотний виклик _process(), перемикається за допомогою set_process()) відбувається настільки швидко, наскільки це можливо, і залежить від частоти кадрів, тому час обробки delta (в секундах) передається як аргумент. Фізична обробка (зворотний виклик _physics_process(), перемикається за допомогою set_physics_process()) відбувається фіксовану кількість разів на секунду (за замовчуванням 60) і є корисною для коду, пов'язаного з фізичним рушієм.
Вузли також можуть обробляти вхідні події. Якщо присутня, функція _input() буде викликана для кожного введення, яке отримує програма. У багатьох випадках це може бути надмірним (якщо не використовується для простих проектів), і функція _unhandled_input() може бути кращою; він викликається, коли вхідна подія не була оброблена ніким іншим (як правило, вузлами GUI Control), гарантуючи, що вузол отримує лише ті події, які призначені для нього.
Щоб відстежувати ієрархію сцен (особливо під час інстанціювання сцен в інші сцени), можна встановити «власника» для вузла за допомогою властивості owner. Це відстежує, хто що створив. Однак це здебільшого корисно під час написання редакторів та інструментів.
Нарешті, коли вузол звільняється за допомогою Object.free() або queue_free(), він також звільняє всіх своїх дочірніх елементів.
Групи: Вузли можна додавати до будь-якої кількості груп, щоб ними було легко керувати, ви можете створювати групи, наприклад, «вороги» або «предмети колекціонування», залежно від вашої гри. Див. add_to_group(), is_in_group() і remove_from_group(). Потім ви можете отримати всі вузли в цих групах, повторити їх і навіть викликати методи в групах за допомогою методів у SceneTree.
Мережа з вузлами: Після підключення до сервера (або створення такого, див. ENetMultiplayerPeer) можна використовувати вбудовану систему RPC (віддаленого виклику процедури) для спілкування через мережу. Викликаючи rpc() із назвою методу, він буде викликаний локально та в усіх підключених однорангових вузлах (рівні = клієнти та сервер, який приймає з’єднання). Щоб визначити, який вузол отримує виклик RPC, Godot використовуватиме свій NodePath (переконайтеся, що імена вузлів однакові на всіх вузлах). Також перегляньте підручник високого рівня з мереж і відповідні демонстрації.
Примітка. Властивість script є частиною класу Object, а не Node. Він не відкритий, як більшість властивостей, але має сеттер і геттер (див. Object.set_script() і Object.get_script()).
Посібники
Властивості
|
||
|
||
|
||
|
||
|
||
|
||
|
||
BitField[ProcessThreadMessages] |
||
|
Методи
Сигнали
child_entered_tree(node: Node) 🔗
Випромінюється, коли дочірній вузол node входить до SceneTree, зазвичай тому, що цей вузол увійшов до дерева (дивіться tree_entered), або було викликано add_child().
Цей сигнал випромінюється після NOTIFICATION_ENTER_TREE та tree_entered дочірнього вузла.
child_exiting_tree(node: Node) 🔗
Випромінюється, коли дочірній вузол node збирається вийти з SceneTree, зазвичай тому, що цей вузол виходить з дерева (дивіться tree_exiting), або тому, що дочірній вузол node видаляється чи звільняється.
Коли цей сигнал отримано, дочірній вузол node все ще доступний усередині дерева. Цей сигнал випромінюється після tree_exiting та NOTIFICATION_EXIT_TREE дочірнього вузла.
child_order_changed() 🔗
Випромінюється, коли змінюється список дочірніх вузлів. Це відбувається, коли дочірні вузли додаються, переміщуються або видаляються.
editor_description_changed(node: Node) 🔗
Випромінюється, коли змінюється поле опису вузла в редакторі.
editor_state_changed() 🔗
Випромінюється, коли змінюється атрибут вузла, який має відношення до редактора. Випромінюється лише в редакторі.
ready() 🔗
Випромінюється, коли вузол вважається готовим, після виклику _ready().
renamed() 🔗
Випромінюється, коли змінюється name вузла, якщо вузол знаходиться в дереві.
Випромінюється, коли цей вузол замінюється на node, дивіться replace_by().
Цей сигнал випромінюється після того, як node було додано як дочірній вузол до початкового батьківського вузла, але перед тим, як усі початкові дочірні вузли були перепризначені до node.
tree_entered() 🔗
Випромінюється, коли вузол входить до дерева.
Цей сигнал випромінюється після відповідного сповіщення NOTIFICATION_ENTER_TREE.
tree_exited() 🔗
Випромінюється після того, як вузол виходить з дерева і більше не є активним.
Цей сигнал випромінюється після відповідного сповіщення NOTIFICATION_EXIT_TREE.
tree_exiting() 🔗
Випромінюється, коли вузол ось-ось вийде з дерева. Вузол все ще дійсний. Таким чином, це відповідне місце для деініціалізації (або "деструктора", якщо хочете).
Цей сигнал випромінюється після _exit_tree() вузла та перед відповідним сповіщенням NOTIFICATION_EXIT_TREE.
Переліки
enum ProcessMode: 🔗
ProcessMode PROCESS_MODE_INHERIT = 0
Успадковує process_mode від батьківського вузла. Це значення за замовчуванням для будь-якого новоствореного вузла.
ProcessMode PROCESS_MODE_PAUSABLE = 1
Зупиняє обробку, коли SceneTree.paused дорівнює true. Це протилежне до PROCESS_MODE_WHEN_PAUSED і є значенням за замовчуванням для кореневого вузла.
ProcessMode PROCESS_MODE_WHEN_PAUSED = 2
Обробляти тільки тоді, коли SceneTree.paused має значення true. Це інверсія PROCESS_MODE_PAUSABLE.
ProcessMode PROCESS_MODE_ALWAYS = 3
Завжди обробляти. Продовжує обробку, ігноруючи SceneTree.paused. Це інверсія до PROCESS_MODE_DISABLED.
ProcessMode PROCESS_MODE_DISABLED = 4
Ніколи не обробляти. Повністю вимикає обробку, ігноруючи SceneTree.paused. Це інверсія до PROCESS_MODE_ALWAYS.
enum ProcessThreadGroup: 🔗
ProcessThreadGroup PROCESS_THREAD_GROUP_INHERIT = 0
Обробляти цей вузол відповідно до режиму групи потоків першого батьківського (або прабатьківського) вузла, у якого цей режим не є успадкованим. Дивіться process_thread_group для отримання додаткової інформації.
ProcessThreadGroup PROCESS_THREAD_GROUP_MAIN_THREAD = 1
Обробляти цей вузол (і дочірні вузли, для яких встановлено успадкування) у головному потоці. Дивіться process_thread_group для отримання додаткової інформації.
ProcessThreadGroup PROCESS_THREAD_GROUP_SUB_THREAD = 2
Обробляти цей вузол (і дочірні вузли, для яких встановлено успадкування) у дочірньому потоці. Дивіться process_thread_group для отримання додаткової інформації.
flags ProcessThreadMessages: 🔗
ProcessThreadMessages FLAG_PROCESS_THREAD_MESSAGES = 1
Дозволяє цьому вузлу обробляти потокові повідомлення, створені за допомогою call_deferred_thread_group(), безпосередньо перед викликом _process().
ProcessThreadMessages FLAG_PROCESS_THREAD_MESSAGES_PHYSICS = 2
Дозволяє цьому вузлу обробляти потокові повідомлення, створені за допомогою методу call_deferred_thread_group() безпосередньо перед викликом методу _physics_process().
ProcessThreadMessages FLAG_PROCESS_THREAD_MESSAGES_ALL = 3
Дозволяє цьому вузлу обробляти потокові повідомлення, створені за допомогою методу call_deferred_thread_group() безпосередньо перед викликом методу _process() або методу _physics_process().
enum PhysicsInterpolationMode: 🔗
PhysicsInterpolationMode PHYSICS_INTERPOLATION_MODE_INHERIT = 0
Успадковує physics_interpolation_mode від батьківського вузла. Це значення за замовчуванням для будь-якого новоствореного вузла.
PhysicsInterpolationMode PHYSICS_INTERPOLATION_MODE_ON = 1
Вмикає інтерполяцію фізики для цього вузла та для дочірніх вузлів, встановлених на PHYSICS_INTERPOLATION_MODE_INHERIT. Це значення за замовчуванням для кореневого вузла.
PhysicsInterpolationMode PHYSICS_INTERPOLATION_MODE_OFF = 2
Вимикає інтерполяцію фізики для цього вузла та для дочірніх вузлів, встановлених на PHYSICS_INTERPOLATION_MODE_INHERIT.
enum DuplicateFlags: 🔗
DuplicateFlags DUPLICATE_SIGNALS = 1
Дублювати з'єднання сигналів вузла, які підключені з прапорцем Object.CONNECT_PERSIST.
DuplicateFlags DUPLICATE_GROUPS = 2
Дублювати групи вузла.
DuplicateFlags DUPLICATE_SCRIPTS = 4
Дублювати скрипт вузла (також перевизначаючи скрипти дубльованих дочірніх вузлів, при поєднанні з DUPLICATE_USE_INSTANTIATION).
DuplicateFlags DUPLICATE_USE_INSTANTIATION = 8
Дублювати за допомогою PackedScene.instantiate(). Якщо вузол походить зі сцени, збереженої на диску, повторно використовує PackedScene.instantiate() як основу для дубльованого вузла та його дочірніх вузлів.
enum InternalMode: 🔗
InternalMode INTERNAL_MODE_DISABLED = 0
Вузол не буде внутрішнім.
InternalMode INTERNAL_MODE_FRONT = 1
Вузол буде розміщено на початку списку дочірніх вузлів батька, перед будь-якими не-внутрішніми спорідненими вузлами.
InternalMode INTERNAL_MODE_BACK = 2
Вузол буде розміщено в кінці списку дочірніх вузлів батька, після будь-яких не-внутрішніх споріднених вузлів.
enum AutoTranslateMode: 🔗
AutoTranslateMode AUTO_TRANSLATE_MODE_INHERIT = 0
Успадковує auto_translate_mode від батьківського вузла. Це значення за замовчуванням для будь-якого новоствореного вузла.
AutoTranslateMode AUTO_TRANSLATE_MODE_ALWAYS = 1
Завжди автоматично перекладати. Це протилежне до AUTO_TRANSLATE_MODE_DISABLED і є значенням за замовчуванням для кореневого вузла.
AutoTranslateMode AUTO_TRANSLATE_MODE_DISABLED = 2
Ніколи не перекладати автоматично. Це протилежне до AUTO_TRANSLATE_MODE_ALWAYS.
Аналіз рядків для генерації POT-файлів буде пропущено для цього вузла та дочірніх вузлів, у яких встановлено AUTO_TRANSLATE_MODE_INHERIT.
Константи
NOTIFICATION_ENTER_TREE = 10 🔗
Сповіщення надходить, коли вузол входить до SceneTree. Дивіться _enter_tree().
Це сповіщення надходить перед відповідним сигналом tree_entered.
NOTIFICATION_EXIT_TREE = 11 🔗
Сповіщення надходить, коли вузол збирається вийти з SceneTree. Дивіться _exit_tree().
Це сповіщення надходить після відповідного сигналу tree_exiting.
NOTIFICATION_MOVED_IN_PARENT = 12 🔗
Застаріло: This notification is no longer sent by the engine. Use NOTIFICATION_CHILD_ORDER_CHANGED instead.
NOTIFICATION_READY = 13 🔗
Сповіщення отримано, коли вузол готовий. Див. _ready().
NOTIFICATION_PAUSED = 14 🔗
Сповіщення отримано, коли вузол призупинено. Див. process_mode.
NOTIFICATION_UNPAUSED = 15 🔗
Сповіщення отримано, коли вузол відновлено. Див. process_mode.
NOTIFICATION_PHYSICS_PROCESS = 16 🔗
Сповіщення, отримане від дерева, надходить у кожному фізичному кадрі, коли is_physics_processing() повертає true. Див. _physics_process().
NOTIFICATION_PROCESS = 17 🔗
Сповіщення, отримане від дерева, надходить у кожному відрендереному кадрі, коли is_processing() повертає true. Див. _process().
NOTIFICATION_PARENTED = 18 🔗
Сповіщення отримано, коли вузол встановлено як дочірній елемент іншого вузла (див. add_child() та add_sibling()).
Примітка: Це не означає, що вузол увійшов до SceneTree.
NOTIFICATION_UNPARENTED = 19 🔗
Сповіщення отримано, коли батьківський вузол викликає метод remove_child() на цьому вузлі.
Примітка: Це не означає, що вузол вийшов з SceneTree.
NOTIFICATION_SCENE_INSTANTIATED = 20 🔗
Повідомлення отримано only за допомогою нововведеньої кореневої вершини сцени, коли PackedScene.instantiate() завершено.
NOTIFICATION_DRAG_BEGIN = 21 🔗
Повідомлення, отримане при старті перетягування. Всі вузли отримують це повідомлення, не тільки перетягування.
Може бути запущений як шляхом перетягування Control, що забезпечує перетягування даних (див. Control._get_drag_data()) або за допомогою Control.force_drag().
Використовуйте Viewport.gui_get_drag_data() для отримання перетягування даних.
NOTIFICATION_DRAG_END = 22 🔗
Повідомлення отримано після закінчення операції перетягування.
Використовуйте Viewport.gui_is_drag_successful(), щоб перевірити, чи вдалося перетягнути.
NOTIFICATION_PATH_RENAMED = 23 🔗
Сповіщення надходить, коли змінюється name вузла або name одного з його предків. Це сповіщення ні надходить, коли вузол видаляється з SceneTree.
NOTIFICATION_CHILD_ORDER_CHANGED = 24 🔗
Повідомлення, отримане при зміні списку дітей. Це відбувається при додаванні дочірніх вузлів, переміщення або видаленні.
NOTIFICATION_INTERNAL_PROCESS = 25 🔗
Повідомлення, отримане з дерева, кожен рендер, коли is_processing_internal() повертає true.
NOTIFICATION_INTERNAL_PHYSICS_PROCESS = 26 🔗
Повідомлення отримано з дерева, коли is_physics_processing_internal() повертає true.
NOTIFICATION_POST_ENTER_TREE = 27 🔗
Після того, як вершина надходить в дерево, перед тим як NOTIFICATION_READY можна отримати. На відміну від останнього, він надіслав кожен раз вершину надходить дерево, не просто один раз.
NOTIFICATION_DISABLED = 28 🔗
Повідомлення отримано при вимкненні вузла. Див. PROCESS_MODE_DISABLED.
NOTIFICATION_ENABLED = 29 🔗
Після вимкнення ввімкнено сповіщення. Див. PROCESS_MODE_DISABLED.
NOTIFICATION_RESET_PHYSICS_INTERPOLATION = 2001 🔗
Сповіщення отримано, коли метод reset_physics_interpolation() викликається на вузлі або його предках.
NOTIFICATION_EDITOR_PRE_SAVE = 9001 🔗
Повідомлення надійшло прямо перед сценою з вершиною зберігається в редакторі. Таке повідомлення надіслано лише в редакторі Godot і не буде відбуватися в експортованих проектах.
NOTIFICATION_EDITOR_POST_SAVE = 9002 🔗
Після того, як в редакторі зберігаються сповіщення, надійшло праве повідомлення. Таке повідомлення надіслано лише в редакторі Godot і не буде відбуватися в експортованих проектах.
NOTIFICATION_WM_MOUSE_ENTER = 1002 🔗
Після того, як миша надходить у вікно.
Реалізовано для вбудованих вікон і на настільних і веб-платформах.
NOTIFICATION_WM_MOUSE_EXIT = 1003 🔗
Після того, як миша залишає вікно.
Реалізовано для вбудованих вікон і на настільних і веб-платформах.
NOTIFICATION_WM_WINDOW_FOCUS_IN = 1004 🔗
Повідомлення, отримане з ОС при фокусуванні вузла Window. Це може стати зміною фокусу між двома вікнами тієї ж моторної інстанції, або з робочого столу або сторонніх додатків до вікна гри (в якому випадку NOTIFICATION_APPLICATION_FOCUS_IN також отримано).
Window вузол отримує це повідомлення, коли він фокусується.
NOTIFICATION_WM_WINDOW_FOCUS_OUT = 1005 🔗
Повідомлення, отримане з ОС при дефокусуванні вершини Window. Це може стати зміною фокусу між двома вікнами тієї ж моторної інстанції, або з вікна гри на робочий стіл або сторонньою заявкою (в якому випадку NOTIFICATION_APPLICATION_FOCUS_OUT.
Window вершина отримує це повідомлення, коли він дефокусований.
NOTIFICATION_WM_CLOSE_REQUEST = 1006 🔗
Повідомлення отримано з ОС при відправці близького запиту (наприклад, закриття вікна з кнопкою «Клоза» або Alt + F4).
Реалізовано на настільних платформах.
NOTIFICATION_WM_GO_BACK_REQUEST = 1007 🔗
Повідомлення, отримане з ОС при відправці запиту назад (наприклад, натиснення кнопки "Назад" на Андроїд).
Реалізовано тільки на Андроїд.
NOTIFICATION_WM_SIZE_CHANGED = 1008 🔗
Повідомлення отримано при перерахуванні вікна.
Примітка: Тільки негабаритний вузол Window отримує це повідомлення, і воно не пропаговано до дочірньих вузлів.
NOTIFICATION_WM_DPI_CHANGE = 1009 🔗
Повідомлення, отримане з ОС при зміні міток екрана на дюйм (DPI). Тільки реалізовані на macOS.
NOTIFICATION_VP_MOUSE_ENTER = 1010 🔗
Після того, як курсор мишки надходить до видимої області Viewport false і незалежно від того, чи зараз він зосередився або ні.
NOTIFICATION_VP_MOUSE_EXIT = 1011 🔗
Повідомлення отримано, коли курсор мишки залишає видиму площу Viewport, яка не входить до інших Controls або Windows, наданий його Viewport._disable_input false і незалежно від того, чи зараз він зосередився або ні.
NOTIFICATION_WM_POSITION_CHANGED = 1012 🔗
Отримано сповіщення, коли вікно переміщено.
NOTIFICATION_OS_MEMORY_WARNING = 2009 🔗
Повідомлення отримано від ОС при перевищенні його виділеної пам'яті.
Реалізовано тільки на iOS.
NOTIFICATION_TRANSLATION_CHANGED = 2010 🔗
Отримано сповіщення, коли переклади могли змінитися. Може бути викликано зміною користувачем локалі, зміною auto_translate_mode або коли вузол входить у дерево сцени. Може використовуватися для реагування на зміни мови, наприклад, для зміни рядків інтерфейсу користувача на льоту. Корисно під час роботи з вбудованою підтримкою перекладу, наприклад Object.tr().
Примітка: це сповіщення отримано разом із NOTIFICATION_ENTER_TREE, тому, якщо ви створюєте екземпляр сцени, дочірні вузли ще не буде ініціалізовано. Ви можете використовувати його, щоб налаштувати переклади для цього вузла, дочірніх вузлів, створених зі сценарію, або якщо ви хочете отримати доступ до дочірніх вузлів, доданих у редакторі, переконайтеся, що вузол готовий за допомогою is_node_ready().
func _notification(що):
if what == NOTIFICATION_TRANSLATION_CHANGED:
if not is_node_ready():
await ready # Зачекайте до сигналу готовності.
$Label.text = atr("%d Bananas") % banana_counter
NOTIFICATION_WM_ABOUT = 2011 🔗
Повідомлення отримано від ОС при надсиланні запиту на "Про" інформацію.
Реалізовано тільки на macOS.
NOTIFICATION_CRASH = 2012 🔗
Увімкнення отримано з аварійного керма Godot, коли двигун знаходиться на збій.
Реалізовано на настільних платформах, якщо увімкнено аварійний обробник.
NOTIFICATION_OS_IME_UPDATE = 2013 🔗
Повідомлення отримано від ОС при оновленні Вступного методу двигуна (наприклад, зміна позиції курсора IME або рядка композицій).
Реалізовано тільки на macOS.
NOTIFICATION_APPLICATION_RESUMED = 2014 🔗
Повідомлення отримано від ОС при відновленні програми.
Специфіка для платформ Android та iOS.
NOTIFICATION_APPLICATION_PAUSED = 2015 🔗
Повідомлення, отримане від ОС, коли заявка призупинена.
Специфічні для платформ Android та iOS.
Примітка: На iOS, у вас є лише приблизно 5 секунд, щоб закінчити завдання, розпочате цей сигнал. Якщо ви переживаєте цей розподіл, iOS вб'є додаток, а не призупинити його.
NOTIFICATION_APPLICATION_FOCUS_IN = 2016 🔗
Повідомлення отримано від ОС, коли додаток зосереджено, тобто при зміні фокусу з робочого столу OS або додатку сторонніх до будь-якого відкритого вікна екземпляра Godot.
Реалізовано на настільних і мобільних платформах.
NOTIFICATION_APPLICATION_FOCUS_OUT = 2017 🔗
Повідомлення отримано від ОС при дефокусованій програмі, тобто при зміні фокусу з будь-якого відкритого вікна екземпляра Godot на робочий стіл або додатку сторонніх осіб.
Реалізовано на настільних і мобільних платформах.
NOTIFICATION_TEXT_SERVER_CHANGED = 2018 🔗
Повідомлення, отримано при зміні TextServer.
NOTIFICATION_ACCESSIBILITY_UPDATE = 3000 🔗
Сповіщення, отримане, коли потрібне оновлення інформації про доступність.
NOTIFICATION_ACCESSIBILITY_INVALIDATE = 3001 🔗
Сповіщення отримано, коли елементи доступності визнано недійсними. Усі елементи доступності вузла автоматично видаляються після отримання цього повідомлення, тому всі існуючі посилання на такі елементи слід відкинути.
Описи властивостей
AutoTranslateMode auto_translate_mode = 0 🔗
void set_auto_translate_mode(value: AutoTranslateMode)
AutoTranslateMode get_auto_translate_mode()
Якщо будь-який текст повинен автоматично змінюватися до його перекладеної версії залежно від поточного локального (для вузлів, таких як Label, RichTextLabel, Window та ін.). Також вирішується, якщо рядок вершини повинні бути принесені до покоління POT.
Примітка: Для кореневої вершини режим автоматичного перекладу можна встановити за допомогою ProjectSettings.internationalization/rendering/root_node_auto_translate.
String editor_description = "" 🔗
Додатковий опис до вершини. Він буде відображатися як інструмент, коли перебуваючи над вершиною в докці редактора.
MultiplayerAPI multiplayer 🔗
MultiplayerAPI get_multiplayer()
MultiplayerAPI екземпляр, пов'язаний з цією вершиною. Подивитися SceneTree.get_multiplayer().
Примітка: Перейменування вершини, або переміщення його в дерево, не перейде MultiplayerAPI на новий шлях, вам доведеться оновити це вручну.
StringName name 🔗
void set_name(value: StringName)
StringName get_name()
Назва вузла. Ця назва повинна бути унікальною серед муфт (інші дочірні вузли з одного батька). При налаштуванні до існуючої ім'я зв'язку вузол автоматично перейменований.
Примітка: При зміні назви будуть замінені наступні символи: (`` `` : `` @`` / " %). ```` символ зарезервований для автоматично сформованих імен. Дивись також string.validate_node_name().
Власник цього вузла. Власник має бути предком цього вузла. Під час упаковки вузла власника в PackedScene усі вузли, якими він володіє, також зберігаються разом із ним. Дивіться також unique_name_in_owner.
Примітка: У редакторі вузли, які не належать кореневій частині сцени, зазвичай не відображаються в доку сцени та ні зберігаються. Щоб запобігти цьому, не забудьте встановити власника після виклику add_child().
PhysicsInterpolationMode physics_interpolation_mode = 0 🔗
void set_physics_interpolation_mode(value: PhysicsInterpolationMode)
PhysicsInterpolationMode get_physics_interpolation_mode()
Режим фізичної інтерполяції, який слід використовувати для цього вузла. Діє лише тоді, коли ProjectSettings.physics/common/physics_interpolation або SceneTree.physics_interpolation має значення true.
За замовчуванням вузли успадковують режим фізичної інтерполяції від свого батьківського вузла. Ця властивість може вмикати або вимикати фізичну інтерполяцію окремо для кожного вузла, незалежно від режиму фізичної інтерполяції їхніх батьків.
Примітка: Деякі типи вузлів, такі як VehicleWheel3D, мають фізичну інтерполяцію вимкнену за замовчуванням, оскільки вони покладаються на власне користувацьке рішення.
Примітка: Під час телепортації вузла у віддалену позицію рекомендується тимчасово вимкнути інтерполяцію за допомогою методу reset_physics_interpolation() після переміщення вузла. Це дозволяє уникнути створення візуальної смуги між старою та новою позиціями.
ProcessMode process_mode = 0 🔗
void set_process_mode(value: ProcessMode)
ProcessMode get_process_mode()
Поведінка обробки вузла. Щоб перевірити, чи може вузол обробляти дані в поточному режимі, використовуйте can_process().
int process_physics_priority = 0 🔗
Подібно до process_priority, але для NOTIFICATION_PHYSICS_PROCESS, _physics_process() або NOTIFICATION_INTERNAL_PHYSICS_PROCESS.
Порядок виконання вузлом зворотних викликів процесу (_process(), NOTIFICATION_PROCESS і NOTIFICATION_INTERNAL_PROCESS). Вузли, значення пріоритету яких нижче, викликають зворотні виклики своїх процесів першими, незалежно від порядку дерева.
ProcessThreadGroup process_thread_group = 0 🔗
void set_process_thread_group(value: ProcessThreadGroup)
ProcessThreadGroup get_process_thread_group()
Встановіть групу потоків процесу для цього вузла (загалом, незалежно від того, чи отримує він NOTIFICATION_PROCESS, NOTIFICATION_PHYSICS_PROCESS, _process() або _physics_process() (і внутрішні версії) у головному потоці чи у підпотоці.
За замовчуванням групою потоків є PROCESS_THREAD_GROUP_INHERIT, що означає, що цей вузол належить до тієї ж групи потоків, що й батьківський вузол. Групи потоків означають, що вузли в певній групі потоків оброблятимуть разом, окремо від інших груп потоків (залежно від process_thread_group_order). Якщо встановлено значення PROCESS_THREAD_GROUP_SUB_THREAD, ця група потоків відбуватиметься у підпотоці (а не в основному потоці), інакше, якщо встановлено значення PROCESS_THREAD_GROUP_MAIN_THREAD, вона оброблятиметься в основному потоці. Якщо немає батьківського або дідуся вузла, налаштованого на щось інше, ніж успадкування, вузол належатиме до групи потоків за замовчуванням. Ця група за замовчуванням оброблятиметься в основному потоці, її порядок груп дорівнює 0.
Під час обробки у підпотоці доступ до більшості функцій у вузлах поза групою потоку заборонено (і це призведе до помилки в режимі налагодження). Використовуйте Object.call_deferred(), call_thread_safe(), call_deferred_thread_group() тощо, щоб спілкуватися від груп потоків до основного потоку (або до інших груп потоків).
Щоб краще зрозуміти групи потоків процесів, ідея полягає в тому, що будь-який вузол, для якого встановлено значення, відмінне від PROCESS_THREAD_GROUP_INHERIT, включатиме будь-які дочірні (і дочірні) вузли, налаштовані для успадкування, у свою групу потоків процесу. Це означає, що обробка всіх вузлів у групі відбуватиметься разом, одночасно з вузлом, що включає їх.
int process_thread_group_order 🔗
Зміна порядку групового процесу. Група з меншим замовленням обробляється до груп з більшим замовленням. Це корисно, коли велика кількість вузлів обробляється під ниткою і, навпаки, інша група хоче зібрати їх результат в основну нитку, як приклад.
BitField[ProcessThreadMessages] process_thread_messages 🔗
void set_process_thread_messages(value: BitField[ProcessThreadMessages])
BitField[ProcessThreadMessages] get_process_thread_messages()
Встановити, чи поточна група ниток оброблятиме повідомлення (розрахунку на call_deferred_thread_group() на нитках), і чи потрібно отримувати їх під час регулярного процесу або фізичного процесу зворотнього зв'язку.
Оригінальний шлях файлу сцени, якщо вершина була миттєва від файлу PackedScene. Тільки кореневі вузли сцени містять це.
bool unique_name_in_owner = false 🔗
Якщо true, до вузла можна отримати доступ з будь-якого вузла, що має спільного власника owner, або з самого owner, використовуючи спеціальний синтаксис %Name у get_node().
Примітка: Якщо інший вузол з тим самим owne має спільний доступ до того ж name, що й цей вузол, інший вузол більше не буде доступним як унікальний.
Описи методів
void _enter_tree() virtual 🔗
Увімкніть, коли вершина надходить на SceneTree (наприклад, при миттєвих змінах сцени, або після виклику add_child() у скрипті). Якщо вершина має дітей, його _enter_tree() виклик буде називатися першим, а потім тим, що діти.
Кореспонденти до повідомлення NOTIFICATION_ENTER_TREE в Object._notification().
void _exit_tree() virtual 🔗
Увімкніть, коли вершина про те, щоб залишити SceneTree (наприклад, при звільненні, зміні сцени або після виклику remove_child() в скрипті). Якщо у вершині є діти, його _exit_tree() запобіжник буде називатися останнім, після того, як всі його діти залишили дерево.
Відповіді на NOTIFICATION_EXIT_TREE повідомлення в Object._notification() та сигнал Tree_exiting. Щоб отримати сповіщення, коли вершина вже залишила активне дерево, підключіть до tree_exited.
PackedStringArray _get_accessibility_configuration_warnings() virtual const 🔗
Елементи масиву, що повертаються цим методом, відображаються як попередження в панелі сцени, якщо скрипт, який його перевизначає, є скриптом tool, а попередження про доступність увімкнено в налаштуваннях редактора.
Повернення порожнього масиву не створює попереджень.
PackedStringArray _get_configuration_warnings() virtual const 🔗
Елементи в масиві, який повертає цей метод, відображаються як попередження в доку Scene, якщо скрипт, який замінює його, є скрипти tool.
Повернення порожнього масиву не створює попереджень.
Викличте update_configuration_warnings(), коли потрібно оновити попередження для цього вузла.
@export var energy = 0:
set(value):
energy = value
update_configuration_warnings()
func _get_configuration_warnings():
if energy < 0:
return ["Energy must be 0 or greater."]
else:
return []
RID _get_focused_accessibility_element() virtual const 🔗
Викликається під час оновлення інформації про доступність для визначення поточного піделементу, має повертати RID піделементу або значення, повернене get_accessibility_element().
void _input(event: InputEvent) virtual 🔗
Викликається, коли є вхідний захід. Вступний захід пропагує через дерево вершин, поки вузол споживає його.
Це тільки називається, якщо ввімкнена обробка вхідних даних, яка здійснюється автоматично, якщо цей метод перейде, і може бути використані set_process_input().
Щоб споживати вхідний захід і зупинити його пропагування додатково до інших вузлів, можна назвати Viewport.set_input_as_handled().
Для введення гри _unhandled_input() і _unhandled_key_input() зазвичай краще підходять, оскільки вони дозволяють GUI перехоплювати події першими.
Примітка: Цей метод називається лише якщо вершина присутній на ялинці (тобто якщо це не дитячий будинок).
void _physics_process(delta: float) virtual 🔗
Викликається один раз на кожен фізичний такт і дозволяє вузлам синхронізувати свою логіку з фізичними тактами. delta — це логічний час між фізичними тактами в секундах, який дорівнює Engine.time_scale / Engine.physics_ticks_per_second.
Викликається тільки в тому випадку, якщо для цього вузла ввімкнено обробку фізики, що робиться автоматично, якщо цей метод перезаписано, і може бути ввімкнено або вимкнено за допомогою set_physics_process().
Обробка відбувається в порядку process_physics_priority, спочатку викликаються значення з нижчим пріоритетом. Вузли з однаковим пріоритетом обробляються в порядку дерева, або зверху вниз, як це видно в редакторі (також відоме як обхід в порядку).
Відповідає повідомленню NOTIFICATION_PHYSICS_PROCESS в Object._notification().
Примітка: Цей метод викликається тільки в тому випадку, якщо вузол присутній в дереві сцени (тобто якщо він не є сиротою).
Примітка: Накопичене delta може відрізнятися від реальних секунд.
void _process(delta: float) virtual 🔗
Викликається на кожному кадрі в режимі очікування, перед рендерингом і після обробки фізичних тиків. delta — це час між кадрами в секундах.
Викликається тільки в тому випадку, якщо для цього вузла ввімкнено обробку, що відбувається автоматично, якщо цей метод перезаписано, і може бути ввімкнено або вимкнено за допомогою set_process().
Обробка відбувається в порядку process_priority, спочатку викликаються значення з нижчим пріоритетом. Вузли з однаковим пріоритетом обробляються в порядку дерева або зверху вниз, як показано в редакторі (також відоме як обхід у порядку).
Відповідає повідомленню NOTIFICATION_PROCESS в Object._notification().
Примітка: Цей метод викликається тільки якщо вузол присутній в дереві сцени (тобто якщо він не є сиротою) .
Примітка: Коли движок працює з перебоями і частота кадрів знижується, delta збільшується. Коли delta збільшується, його максимальне значення обмежується Engine.time_scale * Engine.max_physics_steps_per_frame / Engine.physics_ticks_per_second. Як результат, накопичений delta може не відповідати реальному часу.
Примітка: Коли --fixed-fps увімкнено або движок працює в режимі Movie Maker (див. MovieWriter), процес delta завжди буде однаковим для кожного кадру, незалежно від того, скільки часу знадобилося для його рендерингу.
Примітка: Дельта кадру може бути оброблена OS.delta_smoothing, якщо це ввімкнено для проекту.
void _ready() virtual 🔗
Викликається, коли вершина «читає», тобто коли і вершина, і її діти вступили в дерево сцени. Якщо вершина має дітей, їх _ready() виклики запускаються першими, а материнська вершина отримає готове повідомлення після
Відповіді на NOTIFICATION_READY повідомлення в Object._notification(). @onready анотація для змінних.
Зазвичай використовується для ініціалізації. Для ще раніше ініціалізації можна використовувати Object._init(). Дивись ще _enter_tree()
Примітка: Цей метод може бути викликаний тільки один раз для кожного вузла. Після видалення вузла з дерева сцени і додавання його знову, _ready() буде ** не** буде називатися другим раз. Це може бути обходитися запитом іншого виклику з request_ready(), який може бути викликаний будь-яким, перш ніж додати вузол знову.
void _shortcut_input(event: InputEvent) virtual 🔗
Увімкніть, коли InputEventKey, InputEventShortcut, або InputEventJoypad не споживали _input() або будь-який графічний інтерфейс Control пункт. Це називається до _unhandled_key_input() і _unhandled_input(). Вступний захід пропагує через дерево вершин, поки вузол споживає його.
Якщо увімкнено обробку ярликів, що здійснюється автоматично, якщо цей метод перейменований, і може бути використана set_process_shortcut_input().
Щоб споживати вхідний захід і зупинити його пропагування додатково до інших вузлів, можна назвати Viewport.set_input_as_handled().
Цей метод можна використовувати для обробки ярликів. Для генеричних подій, використання _input(). Gameplay події, як правило, повинні оброблятися як _unhandled_input() або _unhandled_key_input().
Примітка: Цей метод називається лише якщо вершина присутній на ялинці (тобто якщо це не дитячий будинок).
void _unhandled_input(event: InputEvent) virtual 🔗
Викликається, коли InputEvent не було використано методом _input() або будь-яким елементом графічного інтерфейсу Control. Викликається після методу _shortcut_input() та після методу _unhandled_key_input(). Вхідна подія поширюється вгору по дереву вузлів, доки вузол не споживає її.
Він викликається лише тоді, коли ввімкнено обробку необроблених вхідних даних, що відбувається автоматично, якщо цей метод перевизначено, і його можна перемкнути за допомогою set_process_unhandled_input().
Щоб використати подію введення та зупинити її подальше поширення на інші вузли, можна викликати Viewport.set_input_as_handled().
Для введення даних у ігровий процес цей метод зазвичай краще підходить, ніж _input(), оскільки події графічного інтерфейсу потребують вищого пріоритету. Для комбінацій клавіш розгляньте використання _shortcut_input() замість цього, як це викликається перед цим методом. Нарешті, для обробки подій клавіатури, з міркувань продуктивності, розгляньте можливість використання _unhandled_key_input().
Примітка: Цей метод викликається лише тоді, коли вузол присутній у дереві сцени (тобто, якщо він не є сиротою).
void _unhandled_key_input(event: InputEvent) virtual 🔗
Викликається, коли InputEventKey не використовується _input() або будь-яким елементом GUI Control. Він викликається після _shortcut_input(), але перед _unhandled_input(). Вхідна подія поширюється вгору по дереву вузлів, доки вузол не споживає її.
Він викликається, лише якщо ввімкнено обробку необробленого введення ключа, яка виконується автоматично, якщо цей метод перевизначено, і її можна перемикати за допомогою set_process_unhandled_key_input().
Щоб використати вхідну подію та зупинити її подальше поширення на інші вузли, можна викликати Viewport.set_input_as_handled().
Цей метод можна використовувати для обробки введення символів Unicode за допомогою модифікаторів Alt, Alt + Ctrl і Alt + Shift після обробки комбінацій клавіш.
Для введення в ігровий процес це та _unhandled_input() зазвичай краще підходять, ніж _input(), оскільки події графічного інтерфейсу повинні оброблятися першими. Цей метод також працює краще, ніж _unhandled_input(), оскільки непов’язані події, такі як InputEventMouseMotion, автоматично фільтруються. Для ярликів краще використовувати _shortcut_input().
Примітка: Цей метод викликається, лише якщо вузол присутній у дереві сцени (тобто якщо він не є сиротою).
void add_child(node: Node, force_readable_name: bool = false, internal: InternalMode = 0) 🔗
Додає дочірній вузол node. Вузли можуть мати будь-яку кількість дочірніх вузлів, але кожен дочірній вузол повинен мати унікальне ім'я. Дочірні вузли автоматично видаляються, коли батьківський вузол видаляється, тому всю сцену можна видалити, видаливши його найвищий вузол.
Якщо force_readable_name має значення true, покращується читабельність доданого вузла node. Якщо не має імені, вузол node перейменовується на свій тип, і якщо він має спільне значення name з вузлом-братом, до нього додається суфікс числа, що є більш відповідним. Ця операція дуже повільна. Тому рекомендується залишити це значення на false, що призначає фіктивне ім'я з @ в обох випадках.
Якщо internal відрізняється від INTERNAL_MODE_DISABLED, дочірній вузол буде додано як внутрішній вузол. Ці вузли ігноруються методами, такими як get_children(), якщо їхній параметр include_internal не має значення true. Це також запобігає дублюванню цих вузлів з їхнім батьківським вузлом. Призначене для приховування внутрішніх вузлів від користувача, щоб користувач випадково не видалив або не змінив їх. Використовується деякими вузлами графічного інтерфейсу, наприклад, ColorPicker.
Примітка: Якщо node вже має батьківський вузол, цей метод не спрацює. Спочатку використовуйте remove_child(), щоб видалити node з його поточного батьківського вузла. Наприклад:
var child_node = get_child(0)
if child_node.get_parent():
child_node.get_parent().remove_child(child_node)
add_child(child_node)
Node childNode = GetChild(0);
if (childNode.GetParent() != null)
{
childNode.GetParent().RemoveChild(childNode);
}
AddChild(childNode);
Якщо вам потрібно додати дочірній вузол під певним вузлом у списку дочірніх вузлів, використовуйте add_sibling() замість цього методу.
Примітка: Якщо ви хочете, щоб дочірній вузол зберігався в PackedScene, вам потрібно встановити owner на додаток до виклику add_child(). Зазвичай це стосується скриптів інструментів та плагінів редактора. Якщо add_child() викликається без встановлення owner, щойно доданий Node не буде видно в дереві сцени, хоча він буде видно в 2D/3D-вигляді.
void add_sibling(sibling: Node, force_readable_name: bool = false) 🔗
Додає вершину sibling до батька цього вузла, а також переміщує додану муфту прямо нижче цього вузла.
Якщо parampower_readable_name є true, покращує читабельність доданої sibling. Якщо не названо, то sibling перейменовано на його тип, і якщо його акції name з муфтою, то число буде пропущено більш доцільно. Ця операція дуже повільно. Так, рекомендується залишити це на false, який призначає ім'я мумії, що містить @ в обох ситуаціях.
Використовуйте add_child() замість цього способу, якщо вам не потрібно вузол дитини, щоб додати нижче конкретного вузла в списку дітей.
Примітка: Якщо це вершина є внутрішнім, додана муфта буде занадто внутрішнім (див. add_child() інтернал параметр.
void add_to_group(group: StringName, persistent: bool = false) 🔗
Додає вершину до group. Групи можуть бути корисними для організації підмножини вузлів, наприклад "enemies" або "collectables"". Дивіться ноти в описі, а також групові методи SceneTree.
Якщо persistent є true, група буде зберігатися при збереженні всередині PackedScene. Всі групи, створені та відображаються в додатку Node, стійкі.
Примітка: Щоб підвищити продуктивність, замовлення назв груп * не* гарантовано і може відрізнятися між проектами. Тому не покладайтеся на групове замовлення.
Примітка: SceneTree методами групи not працюють на цьому вершині, якщо не всередині дерева (див. is_inside_tree()).
String atr(message: String, context: StringName = "") const 🔗
Перекладає message, використовуючи каталоги перекладу, налаштовані в налаштуваннях проекту. Далі можна уточнити, щоб допомогти з перекладом. Зауважте, що більшість Control вузів автоматично переводять свої рядки, тому цей метод в основному корисний для форматованих рядків або настроюється текст.
Цей метод працює так само, як Object.tr(), з додаванням поваги стану auto_translate_mode.
Якщо Object.can_translate_messages() є false, або немає перекладу, цей метод повертає message без змін. Див. Object.set_message_translation().
Для докладних прикладів див. Міжнародні ігри.
String atr_n(message: String, plural_message: StringName, n: int, context: StringName = "") const 🔗
Перекладає message або plural_message, використовуючи каталоги перекладу, налаштовані в налаштуваннях проекту. Далі можна уточнити, щоб допомогти з перекладом.
Цей метод працює таким же чином, як Object.tr(), з додаванням поваги стану auto_translate_mode.
Якщо Object.can_translate_messages() є false, або немає перекладу, цей метод повертає message або plural_message, без змін. Див. Object.set_message_translation().
n - номер, або сума, суб'єкт повідомлення. Застосовується системою перекладів для викопування правильної форми для поточної мови.
Для докладних прикладів див. :doc:` Локалізація з використанням gettext <../tutorials/i18n/localization_using_gettext>`.
Примітка: Негативний і float номери не можуть застосовуватися до деяких підзвітних предметів. Рекомендовано обробляти ці випадки з atr().
Variant call_deferred_thread_group(method: StringName, ...) vararg 🔗
Ця функція схожа на Object.call_deferred() крім того, що виклик відбудеться, коли обробляється група ниток вузла. Якщо обробляється групові процеси вузла в піддослідних роботах, то виклик буде здійснюватися на цій нитки, прямо перед NOTIFICATION_PROCESS або NOTIFICATION_PHYSICS_PROCESS, _process() або _physics_process() або їх внутрішні версії.
Variant call_thread_safe(method: StringName, ...) vararg 🔗
Ця функція забезпечує, що виклик цієї функції буде успішним, незалежно від того, чи це робиться з ниток або ні. Якщо називається з ниток, що не дозволено викликати функцію, виклик стане відкладений. В іншому випадку виклик буде проходити безпосередньо.
bool can_auto_translate() const 🔗
Повертає true, якщо цей вузол може автоматично перекладати повідомлення залежно від поточної локалізації. Див. auto_translate_mode, atr() та atr_n().
Повертає true, якщо вершина може отримувати повідомлення про обробку і вхідні виклики (NOTIFICATION_PROCESS, _input() і т.д.) з SceneTree і Viewport. Повернуте значення залежить від пам'ятний процес_mode:
до Якщо встановити до PROCESS_MODE_PAUSABLE, повертає true, коли гра переробляється, тобто SceneTree.paused false;
до Якщо встановити до PROCESS_MODE_WHEN_PAUSED, повертає true, коли гра паулюється, тобто SceneTree.paused true;
до Якщо встановити до PROCESS_MODE_ALWAYS, завжди повертає true;
до Якщо встановити до PROCESS_MODE_DISABLED, завжди повертає false;
до Якщо встановити до PROCESS_MODE_INHERIT, скористайтеся дужкою process_mode для визначення результату.
Якщо вершина не всередині дерева, повертає false значення process_mode.
Створює новий Tween і прив’язує його до цього вузла.
Це еквівалент виконання:
get_tree().create_tween().bind_node(self)
GetTree().CreateTween().BindNode(this);
Анімація запуститься автоматично на наступному кадрі процесу або кадрі фізики (залежно від TweenProcessMode). Дивіться Tween.bind_node(), щоб дізнатися більше про Tween, прив’язаний до вузлів.
Примітка: Метод усе ще можна використовувати, якщо вузол не знаходиться всередині SceneTree. Це може вийти з ладу в малоймовірному випадку використання спеціального MainLoop.
Node duplicate(flags: int = 15) const 🔗
Дублює вузол, повертаючи новий вузол з усіма його властивостями, сигналами, групами та дочірніми елементами, скопійованими з оригіналу. Поведінку можна налаштувати за допомогою прапорців flags (див. DuplicateFlags). Внутрішні вузли не дублюються.
Примітка: Для вузлів із приєднаним Script, якщо метод Object._init було визначено з обов'язковими параметрами, дубльований вузол не матиме Script.
Node find_child(pattern: String, recursive: bool = true, owned: bool = true) const 🔗
Знаходиться перший нащадок цього вузла, який name відповідає pattern, повертає null, якщо не знайдено матчу. Відповідача здійснюється на імена вузлів, * не*, через String.match(). Так, це case-sensitive, "*" відповідає нульовим або більшим символам, і "?" відповідає будь-якому символу.
Якщо recursive є false, перевіряються тільки прямі діти цього вузла. Ноди перевіряють в порядку дерева, тому перша безпосередня дитина цього вузла перевіряється спочатку, потім своїми прямими дітьми і т.д., перед переїздом на другу пряму дитину, і так далі. Внутрішні діти також включені в пошук (див. інтернал параметр add_child()).
Якщо owned true, перевіряються тільки нащадки з дійсним owner.
Примітка: Цей метод може бути дуже повільно. Розглянемо зберігання посилання на знайдені вершини в змінній. Крім того, використання get_node() з унікальні іменами (див. unique_name_in_owner).
Примітка: Щоб знайти всі нащадки, що відповідають шаблону або типу класу, див. find_children().
Array[Node] find_children(pattern: String, type: String = "", recursive: bool = true, owned: bool = true) const 🔗
Знаходиться всі нащадки цієї вершини, імена яких відповідають pattern, повертає порожній Array, якщо не знайдено матчу. Відповідача здійснюється на імена вузлів, * не*, через String.match(). Таким чином, це case-sensitive, "*" відповідає нулю або більше символів, і "?" відповідає будь-якому символу.
Якщо type не порожній, допускаються тільки предки, які спадаючі від type (див. Object.is_class()).
Якщо recursive є false, перевіряються тільки прямі діти цього вузла. Ноди перевіряють в порядку дерева, тому перша безпосередня дитина цього вузла перевіряється спочатку, потім своїми прямими дітьми і т.д., перед переїздом на другу пряму дитину, і так далі. Внутрішні діти також включені в пошук (див. інтернал параметр add_child()).
Якщо owned true, перевіряються тільки нащадки з дійсним owner вершиною.
Примітка: Цей метод може бути дуже повільно. Розглянемо зберігання посилань на знайдені вузли в змінній.
Примітка: Щоб знайти єдиний вузол, що відповідає шаблону, див. find_child().
Node find_parent(pattern: String) const 🔗
Знаходиться перший представник цього вузла, який [member name] відповідає [param pattern], повертає [code]null, якщо не знайдено матчу. Відповідача здійснюється через String.match(). Так, це case-sensitive, "*" відповідає нульовим і більшим символам, і "?" відповідає будь-якому символу. find_child() і find_children().
Примітка: Як цей метод ходить вгору в дерево сцени, він може бути повільним у великих, глибоко відстібаються вузли. Розглянемо зберігання посилання на знайдені вершини в змінній. Крім того, використання get_node() з унікальними іменами (див. унікальний_name_in_owner).
RID get_accessibility_element() const 🔗
Повертає основний елемент доступності RID.
Примітка: Цей метод слід викликати лише під час оновлення інформації про доступність (NOTIFICATION_ACCESSIBILITY_UPDATE).
Node get_child(idx: int, include_internal: bool = false) const 🔗
Вибирає дочірній вузол за його індексом. Кожен дочірній вузол має індекс відносно своїх братів і сестер (див. get_index()). Перший дочірній вузол має індекс 0. Від'ємні значення також можна використовувати для початку з кінця списку. Цей метод можна використовувати в поєднанні з get_child_count() для перебору дочірніх вузлів цього вузла. Якщо дочірній вузол не існує за заданим індексом, цей метод повертає null та генерується помилка.
Якщо include_internal має значення false, внутрішні дочірні вузли ігноруються (див. параметр internal методу [code]method add_child]).
[codeblock]
# Припускаючи, що наступні дочірні вузли є дочірніми вузлами, по порядку: # Ім'я, По батькові, Прізвище.
var a = get_child(0).name # a – "Ім'я" var b = get_child(1).name # b – "По батькові" var b = get_child(2).name # b – "Прізвище" var c = get_child(-1).name # c – "Прізвище"[/codeblock]
[b]Примітка:[/b] Щоб отримати вузол за допомогою [NodePath], використовуйте [method get_node].
int get_child_count(include_internal: bool = false) const 🔗
Повертає кількість дітей цього вузла.
Якщо include_internal є false, внутрішні діти не підраховують (див. add_child() `` internal`` параметр.
Array[Node] get_children(include_internal: bool = false) const 🔗
Повернення всіх дітей цієї вершини всередині Аррайон.
Якщо include_internal є false, виключає внутрішні діти з повернутого масиву (див. add_child() internal).
Array[StringName] get_groups() const 🔗
Повертає Array імен груп, до яких було додано вузол.
Примітка: Щоб покращити продуктивність, порядок назв груп не гарантований і може змінюватися між запусками проекту. Тому не покладайтеся на груповий порядок.
**Примітка: ** Цей метод також може повертати назви деяких груп, які починаються з підкреслення (_). Вони використовуються внутрішньо двигуном. Щоб уникнути конфліктів, не використовуйте спеціальні групи, які починаються з підкреслення. Щоб виключити внутрішні групи, перегляньте такий фрагмент коду:
# Зберігає лише невнутрішні групи вузла (як масив StringNames).
var non_internal_groups = []
for group в get_groups():
if not str(group).begins_with("_"):
non_internal_groups.push_back(group)
// Зберігає лише невнутрішні групи вузла (як список імен рядків).
List<string> nonInternalGroups = new List<string>();
foreach (група рядків у GetGroups())
{
if (!group.BeginsWith("_"))
nonInternalGroups.Add(group);
}
int get_index(include_internal: bool = false) const 🔗
Повертаємо порядок цього вузла серед своїх дробів. Індекс першого вузла 0. Дивіться також get_child().
false, повертає індекс ігнорування внутрішніх дітей. Перший, не-внутрішня дитина буде індексом 0 (див. add_child() інтернал).
Window get_last_exclusive_window() const 🔗
Повертаємо Window, що містить цей вузол, або останню ексклюзивну дитину в ланцюжку вікон, починаючи з того, що містить цей вузол.
int get_multiplayer_authority() const 🔗
Повернення однолітнього ідентифікатора багатокористувацького органу для цього вузла. Подивитися set_multiplayer_authority().
Node get_node(path: NodePath) const 🔗
Отримує вузол. NodePath може бути або відносним шляхом (від цього вузла), або абсолютним шляхом (від SceneTree.root) до вузла. Якщо path не вказує на дійсний вузол, створюється помилка та повертається null. Спроби отримати доступ до методів із значенням, що повертається, призведуть до помилки "Спроба викликати <method> у нульовому екземплярі.".
Примітка: Отримання за абсолютним шляхом працює лише тоді, коли вузол знаходиться всередині дерева сцени (див. is_inside_tree()).
Приклад: Припустімо, що цей метод викликається з вузла Character у такому дереві:
┖╴root
┠╴Character (you are here!)
┃ ┠╴Sword
┃ ┖╴Backpack
┃ ┖╴Dagger
┠╴MyGame
┖╴Swamp
┠╴Alligator
┠╴Mosquito
┖╴Goblin
Наступні виклики повернуть дійсний вузол:
get_node("Sword")
get_node("Backpack/Dagger")
get_node("../Swamp/Alligator")
get_node("/root/MyGame")
GetNode("Sword");
GetNode("Backpack/Dagger");
GetNode("../Swamp/Alligator");
GetNode("/root/MyGame");
Array get_node_and_resource(path: NodePath) 🔗
Отримує вузол та його найвкладеніший ресурс, як зазначено підіменем NodePath. Повертає Array розміром 3, де:
Елемент
0– це Node, абоnull, якщо не знайдено;Елемент
1– це останній вкладений Resource підімені, абоnull, якщо не знайдено;Елемент
2– це залишок NodePath, що посилається на існуючу властивість, відмінну від Resource (див. Object.get_indexed()).
Приклад: Припустимо, що дочірньому елементу Sprite2D.texture було призначено AtlasTexture:
var a = get_node_and_resource("Area2D/Sprite2D")
print(a[0].name) # Виводить Sprite2D
print(a[1]) # Виводить <null>
print(a[2]) # Виводить ^""
var b = get_node_and_resource("Area2D/Sprite2D:texture:atlas")
print(b[0].name) # Виводить Sprite2D
print(b[1].get_class()) # Виводить AtlasTexture
print(b[2]) # Виводить ^""
var c = get_node_and_resource("Area2D/Sprite2D:texture:atlas:region")
print(c[0].name) # Друкує Sprite2D
print(c[1].get_class()) # Друкує AtlasTexture
print(c[2]) # Друкує ^":region"
var a = GetNodeAndResource(NodePath("Area2D/Sprite2D"));
GD.Print(a[0].Name); // Друкує Sprite2D
GD.Print(a[1]); // Друкує <null>
GD.Print(a[2]); // Друкує ^"
var b = GetNodeAndResource(NodePath("Area2D/Sprite2D:texture:atlas"));
GD.Print(b[0].name); // Друкує Sprite2D
GD.Print(b[1].get_class()); // Друкує AtlasTexture
GD.Print(b[2]); // Друкує ^""
var c = GetNodeAndResource(NodePath("Area2D/Sprite2D:texture:atlas:region"));
GD.Print(c[0].name); // Друкує Sprite2D
GD.Print(c[1].get_class()); // Друкує AtlasTexture
GD.Print(c[2]); // Друкує ^":region"
Node get_node_or_null(path: NodePath) const 🔗
Fetches a вершина NodePath. Подібно до get_node(), але не генерує помилку, якщо path не вказується на дійсний вузол.
Variant get_node_rpc_config() const 🔗
Повертає Dictionary зіставлення імен методів з їхньою конфігурацією RPC, визначеною для цього вузла за допомогою rpc_config().
Примітка: Цей метод повертає лише конфігурацію RPC, призначену за допомогою rpc_config(). Див. Script.get_rpc_config() для отримання RPC, визначених за допомогою Script.
Array[int] get_orphan_node_ids() static 🔗
Повертає ідентифікатори об'єктів усіх вузлів-сиріт (вузлів поза SceneTree). Використовується для налагодження.
Примітка: get_orphan_node_ids() працює лише в налагоджувальних збірках. Під час виклику в проекті, експортованому в режимі випуску, get_orphan_node_ids() поверне порожній масив.
Повертає материнську вершину цього вузла, або null, якщо вершина не має батька.
Повертає абсолютний шлях вершини, відносно SceneTree.root. Якщо вершина не всередині дерева сцени, цей метод не виходить і повертає порожній NodePath.
NodePath get_path_to(node: Node, use_unique_path: bool = false) const 🔗
Повертає відносну NodePath з цієї вершини до вказаного node. Обидва вузли повинні бути в одному SceneTree або сцена ієрархія, інакше цей метод не виходить і повертає порожній NodePath.
Якщо use_unique_path є true, повертає найкоротший плановий облік для унікальної назви вершини (див. unique_name_in_owner).
Примітка: Якщо ви отримуєте відносний шлях, який починається з унікального вузла, шлях може бути більшим, ніж нормальний відносний шлях, завдяки додаванню імені унікального вузла.
float get_physics_process_delta_time() const 🔗
Повертає час, що минув (у секундах) з моменту останнього фізичного зворотного виклику. Це значення ідентичне параметру delta _physics_process() і часто є узгодженим під час виконання, якщо Engine.physics_ticks_per_second не змінено. Дивіться також NOTIFICATION_PHYSICS_PROCESS.
Примітка. Повернене значення буде більшим за очікуване, якщо частота кадрів буде нижчою за Engine.physics_ticks_per_second / Engine.max_physics_steps_per_frame FPS. Це зроблено, щоб уникнути сценаріїв «спіралі смерті», коли продуктивність різко впаде через постійно зростаючу кількість кроків фізики на кадр. Ця поведінка впливає на _process() і _physics_process(). Тому уникайте використання delta для вимірювання часу в реальних секундах. Використовуйте для цієї мети натомість методи синглтона Time, наприклад Time.get_ticks_usec().
float get_process_delta_time() const 🔗
Повертає час, що минув (у секундах) з моменту останнього зворотного виклику процесу. Це значення ідентичне параметру delta _process() і може відрізнятися від кадру до кадру. Дивіться також NOTIFICATION_PROCESS.
Примітка: Повернене значення буде більшим за очікуване, якщо частота кадрів буде нижчою за Engine.physics_ticks_per_second / Engine.max_physics_steps_per_frame FPS. Це зроблено, щоб уникнути сценаріїв «спіралі смерті», коли продуктивність різко впаде через постійно зростаючу кількість кроків фізики на кадр. Ця поведінка впливає на _process() і _physics_process(). Тому уникайте використання delta для вимірювання часу в реальних секундах. Використовуйте для цієї мети натомість методи синглтона Time, наприклад Time.get_ticks_usec().
bool get_scene_instance_load_placeholder() const 🔗
Повертає true, якщо цей вузол є власником розміру навантаження екземпляра. Див. InstancePlaceholder і set_scene_instance_load_placeholder().
Повертає SceneTree, що містить цей вузол. Якщо це вершина не всередині дерева, генерує помилку і повертає null. Дивись також is_inside_tree().
Повертає дерево як String. Використовується в основному для налагодження. Ця версія відображає шлях відносно поточного вузла та підходить для копіювання/вставлення в get_node() функція. Його також можна використовувати в UI/UX гри.
Можна друкувати, наприклад:
TheGame
TheGame/Menu
TheGame/Menu/Label
TheGame/Menu/Camera2D
TheGame/SplashScreen
TheGame/SplashScreen/Camera2D
String get_tree_string_pretty() 🔗
Подібно до get_tree_string(), це повертає дерево як String. Ця версія відображає більш графічне представлення, подібне до того, що відображається в Scene Dock. Це корисно для огляду великих дерев.
Можна друкувати, наприклад:
┖╴TheGame
┠╴Menu
┃ ┠╴Label
┃ ┖╴Camera2D
┖╴SplashScreen
┖╴Camera2D
Viewport get_viewport() const 🔗
Повертає найближчого предка вузла Viewport, якщо вузол знаходиться всередині дерева. В іншому випадку повертає null.
Повертаємо Window, що містить цей вузол. Якщо вершина знаходиться в головному вікні, це еквівалентно отримання кореневого вузла (get_tree().get_root()).
bool has_node(path: NodePath) const 🔗
Повертає true, якщо path точки до дійсного вузла. Дивитися також get_node().
bool has_node_and_resource(path: NodePath) const 🔗
Повертає true, якщо path точки до дійсного вузла і його субім'ям точки до дії Resource, наприклад Area2D/CollisionShape2D:shape. Властивості, які не є Resource типи (наприклад, вузли або інші типи Variant). Дивись також get_node_and_resource().
bool is_ancestor_of(node: Node) const 🔗
Повертає true, якщо надана node є прямою або непрямою дитиною цього вузла.
bool is_displayed_folded() const 🔗
Повертає true, якщо вершина складена (знімається) в Сцену док. Цей метод призначений для використання в додатках редактора та інструментах. Дивись також set_display_folded().
bool is_editable_instance(node: Node) const 🔗
Повертає true, якщо node має відредаговані діти, що ввімкнули відносно цього вузла. Цей метод призначений для використання в додатках редактора та інструментах. Дивись ще set_editable_instance().
bool is_greater_than(node: Node) const 🔗
Повертає true, якщо надана node відбувається пізніше в ієрархії сцени, ніж цей вузол. Вузол, що виникає пізніше, зазвичай оброблюється останнім.
bool is_in_group(group: StringName) const 🔗
Повертає true, якщо ця вершина була додана в даній group. Див. add_to_group() і remove_from_group(). Дивись також ноти в описі, а також способи групи SceneTree.
Повертає true, якщо цей вузол в даний час знаходиться всередині SceneTree. Дивись також get_tree().
bool is_multiplayer_authority() const 🔗
Повертає true, якщо локальна система є багатокористувацьким органом цієї вершини.
Повертаємо true, якщо вершина готова, тобто це внутрішня сцена дерево і всі її діти ініціюються.
request_ready() скинути його назад до false.
bool is_part_of_edited_scene() const 🔗
Повертаємо true, якщо вершина є частиною сцени, яка в даний час відкрита в редакторі.
bool is_physics_interpolated() const 🔗
Повертає true, якщо фізичний інтерполяція включена для цього вузла (див. physics_interpolation_mode).
Примітка: Інтерполяція буде активний, якщо обидва прапори встановлюються ** і** фізика інтерполяції включена в межах SceneTree. Це може бути протестований за допомогою is_physics_interpolated_and_enabled().
bool is_physics_interpolated_and_enabled() const 🔗
true, якщо фізичний інтерполяція включена (див. physics_interpolation_mode) ** і** включений в SceneTree.
Це зручна версія is_physics_interpolated(), яка також перевіряє, чи є у світі фізика.
Див. SceneTree.physics_interpolation та ProjectSettings.physics/common/physics_interpolation.
bool is_physics_processing() const 🔗
Повертає true, якщо обробка фізики ввімкнена (див. set_physics_process()).
bool is_physics_processing_internal() const 🔗
Повертає true, якщо внутрішня обробка фізики увімкнена (див. set_physics_process_internal()).
Повертає true, якщо обробка ввімкнена (див. set_process()).
bool is_processing_input() const 🔗
Повертає true, якщо вузол обробляє вхідні дані (див. set_process_input()).
bool is_processing_internal() const 🔗
Повернення true, якщо ввімкнено внутрішню обробку (див. set_process_internal()).
bool is_processing_shortcut_input() const 🔗
Повертає true, якщо вершина обробляє ярлики (див. set_process_shortcut_input()).
bool is_processing_unhandled_input() const 🔗
Повертає true, якщо вершина обробляється безручним введенням (див. set_process_unhandled_input()).
bool is_processing_unhandled_key_input() const 🔗
Повертає true, якщо вершина обробляється безручним вхідним ключем (див. set_process_unhandled_key_input()).
void move_child(child_node: Node, to_index: int) 🔗
Мовы child_node до даного індексу. Індекс вузла - це порядок серед своїх дробів. Якщо to_index є негативним, індекс розраховується з кінця списку. Дивись також get_child() і get_index().
Примітка: Порядок обробки декількох зворотньих викликів двигуна (_ready(), _process() і т.д.) і повідомлень, які надсилаються через проагіт_notification(), впливає на порядок дерева. CanvasItem вершини також подаються в порядку дерева. Дивись ще process_priority.
void notify_deferred_thread_group(what: int) 🔗
Подібно до call_deferred_thread_group(), але для повідомлень.
void notify_thread_safe(what: int) 🔗
Подібно до call_thread_safe(), але для сповіщень.
void print_orphan_nodes() static 🔗
Друкує всі дочірні вершини (безкоштовно з SceneTree). Корисно для видалення.
Примітка: Цей метод працює тільки в будівельних конструкціях. Чи нічого в проекті, що експортується в режимі релізу.
void print_tree() 🔗
Виводить вузол і його дочірні елементи на консоль рекурсивно. Вузол не обов'язково повинен бути всередині дерева. Цей метод виводить NodePaths відносно цього вузла, і добре підходить для копіювання/вставлення в get_node(). Дивіться також print_tree_pretty().
May print, for example:
.
Menu
Menu/Label
Menu/Camera2D
SplashScreen
SplashScreen/Camera2D
void print_tree_pretty() 🔗
Виводить вузол і його дочірні елементи на консоль рекурсивно. Вузол не обов'язково повинен бути всередині дерева. Схожий на print_tree(), але графічний представлення виглядає як те, що відображається в док-станції Scene редактора. Це корисно для огляду великих дерев.
Можна друкувати, наприклад:
┖╴TheGame
┠╴Menu
┃ ┠╴Label
┃ ┖╴Camera2D
┖╴SplashScreen
┖╴Camera2D
void propagate_call(method: StringName, args: Array = [], parent_first: bool = false) 🔗
Дзвінки з вказаною назвою method, проходячи args як аргументи, на цьому вершині і всіх його дітей, рекурсивно.
Якщо parent_first є true, метод називається на цьому вершині спочатку, потім на всіх його дітей. Якщо false, перші методи дітей.
void propagate_notification(what: int) 🔗
Викликає Object.notification() з what на цьому вузлі та всіх його дочірніх вузлах рекурсивно.
void queue_accessibility_update() 🔗
Ставить у чергу оновлення інформації про доступність для цього вузла.
void queue_free() 🔗
Прийміть цей вузол, щоб бути видалений в кінці поточного кадру. При видаленні всі його діти видаляються, і всі посилання на вузол і його діти стають недійсними.
На відміну від Object.free(), вузол не видаляється миттєво, і його ще можна отримати до видалення. Це також безпечно для виклику queue_free() кілька разів. Використовуйте Object.is_queued_for_deletion(), щоб перевірити, чи буде видалено вузол в кінці кадру.
Примітка: Після завершення всіх інших відкладених дзвінків буде безкоштовно вузол. Використовуйте цей метод не завжди так само, як і виклик Object.free() за допомогою Object.call_deferred().
void remove_child(node: Node) 🔗
Видаліть дитину node. node, разом з дітьми not видалено. Щоб видалити вузол, див. queue_free().
Примітка: Коли цей вузол знаходиться всередині дерева, цей метод встановлює owner видаленого node (або його нащадки) до нулл, якщо їх owner не більше предків (див. is_ancestor_of()).
void remove_from_group(group: StringName) 🔗
Видаляє вузол із заданої групи group. Нічого не робить, якщо вузол не знаходиться в групі group. Див. також примітки в описі та методи групування SceneTree.
void reparent(new_parent: Node, keep_global_transform: bool = true) 🔗
Змінює батьківщину цього Node на new_parent. На вершині потрібно вже мати батьківство. При збереженні вершини, якщо його власник ще не досягається від нового місця розташування (тобто вузол ще є спадковим новим батьком після операції).
true, глобальна трансформація вершини буде збережена, якщо підтримується. Node2D, Node3D та Control підтримують цей аргумент (але Control зберігає лише позицію).
void replace_by(node: Node, keep_groups: bool = false) 🔗
Замінює цей вузол за допомогою даної node. Всі діти даного вузла переходять на node.
Якщо keep_groups є true, node додається до тих же груп, які замінений вузол знаходиться в (див. add_to_group()).
Попередження: Заміщений вузол знімається з дерева, але це не видалено. Щоб запобігти витокам пам'яті, зберігайте посилання на вершину в змінній, або скористайтеся Object.free().
void request_ready() 🔗
Запити _ready(), щоб називатися знову в наступний раз вершина надходить в дерево. not відразу ж виклик _ready().
Примітка: Цей метод тільки впливає на поточний вузол. Якщо діти вершини також повинні запитати готових, цей метод потрібно назвати для кожного з них. Коли вершина і її діти знову вводять дерево, порядок _ready() викликів буде таким же, як нормально.
void reset_physics_interpolation() 🔗
Коли фізика інтерполяція активна, переміщення вузла до радикально різних трансформацій (наприклад, розміщення в межах рівня) може призвести до видимого блиску, оскільки об'єкт є рухомим від старого до нової позиції над фізикою.
Цей метод може бути попереджений, що тимчасово відключається міжполяція до завершення фізики.
Повідомлення NOTIFICATION_RESET_PHYSICS_INTERPOLATION отримає вузол і всі діти рекурсивно.
Примітка: Ця функція повинна бути викликана після, що переміщує вузол, а не раніше.
Error rpc(method: StringName, ...) vararg 🔗
Відправляє заявку на віддалений порядок виклику для вказаного method до однолітків в мережі (і локально), надсилання додаткових аргументів до методу, що називається RPC. Запит виклику буде отримано лише в вузлах з тим же NodePath, в тому числі точне же name. Behavior залежить від конфігурації RPC для даного method (див. rpc_config() і анотація @GDScript.@rpc). За замовчуванням методи не піддаються RPCs.
Може повернутися @GlobalScope.OK, якщо виклик успішний, @GlobalScope.ERR_INVALID_PARAMETER, якщо аргументи пропущені в method не відповідають, @GlobalScope.ERR_UNCONFIGURED, якщо вершина multiplayer не може бути fetched (наприклад, коли вершина не всередині дерева), @GlobalScope.ERR_CONNECTION_ERROR якщо multiplayer підключення не доступний.
Примітка: Ви можете використовувати тільки RPC на клієнтів після отримання MultiplayerAPI.connected_to_server сигнал від MultiplayerAPI. Також потрібно стежити за станом з'єднання, або за сигналами MultiplayerAPI, такими як MultiplayerAPI.server_disconnected або за допомогою перевірки (``get_multiplayer().peer.get_connection_status()==== Коннекція ``.
void rpc_config(method: StringName, config: Variant) 🔗
Зміна конфігурації RPC для вказаного method. config повинен бути null, щоб вимкнути функцію (як за замовчуванням), або Dictionary, що містить наступні записи:
rpc_mode: див. RPCMode;transfer_mode: див. TransferMode;call_local: iftrue, метод також буде називатися локально;канал: int, що представляє канал для надсилання на RPC.
Note: У GDScript цей метод відповідає анотаціям @GDScript.@rpc анотація, з різними параметрами, що пройшли (@rpc(будього), @rpc(авторитет). Дивись також Високий рівень мультиплеер підручник.
Error rpc_id(peer_id: int, method: StringName, ...) vararg 🔗
Відправляє rpc() на конкретний одноліток, який виділяється однолітків (див. MultiplayerPeer.set_target_peer()).
Може повернутися @GlobalScope.OK, якщо виклик успішний, @GlobalScope.ERR_INVALID_PARAMETER, якщо аргументи пропущені в method не відповідають, @GlobalScope.ERR_UNCONFIGURED, якщо вершина multiplayer не може бути fetched (наприклад, коли вершина не всередині дерева), @GlobalScope.ERR_CONNECTION_ERROR якщо multiplayer підключення не доступний.
void set_deferred_thread_group(property: StringName, value: Variant) 🔗
Подібно до call_deferred_thread_group(), але для налаштування властивостей.
void set_display_folded(fold: bool) 🔗
Якщо встановити до true, вершина з'являється в сцені док. В результаті всі свої діти приховані. Цей метод призначений для використання в додатках редактора та інструментах, але він також працює в конструкторах. Дивись також method_displayed_folded.
void set_editable_instance(node: Node, is_editable: bool) 🔗
Встановити до true, щоб дозволити всі вершини, що належать node, щоб бути доступні і редаговані, в Сцену док, навіть якщо їх owner не корінь сцени. Цей метод призначений для використання в додатках редактора та інструментах, але він також працює в конструкторах. Дивись також method_editable_instance.
void set_multiplayer_authority(id: int, recursive: bool = true) 🔗
Налаштовує багатокористувацький орган вузла до однолітків із заданим однолітком id. Багатокористувацька влада є однолітками, які мають повноваження над вершиною на мережі. За замовчуванням до ID 1 (сервер). Корисно в поєднанні з rpc_config() і MultiplayerAPI.
Якщо recursive є true, заданий одноліток рекурсивно встановлюється як орган для всіх дітей цієї вершини.
Попередження: Це не автоматично реплікує нову владу іншим аналогам. Це відповідальність розробника. Ви можете відреагувати інформацію нової влади за допомогою MultiplayerSpawner.spawn_function, RPC або MultiplayerSynchronizer. Крім того, батьківський орган працює ** не**, пропагувати до новостворених дітей.
void set_physics_process(enable: bool) 🔗
Якщо встановити на true, дозволяє фізичну (фіксовану рамурат) обробку. Коли буде оброблено вузол, він отримає NOTIFICATION_PHYSICS_PROCESS на фіксованій (зазвичай 60 FPS див. Engine.physics_ticks_per_second для зміни) інтервал (і _physics_process() виклик буде викликано, якщо він існує).
Примітка: Якщо _physics_process() перейменувати, це буде автоматично ввімкнено до _ready().
void set_physics_process_internal(enable: bool) 🔗
Якщо встановити до true, дозволяє внутрішню фізику для цього вузла. Внутрішня фізична обробка відбувається в ізоляції від нормальної _physics_process() викликів і використовується деякими вузлами внутрішньо, щоб забезпечити належне функціонування, навіть якщо вершина використовується або фізико-обробка вимкнена для скриптування (set_physics_process()).
Попередження: Вбудовані вузли спираються на внутрішню обробку для їх внутрішньої логіки. Небезпечний і може призвести до несподіваної поведінки. Використовуйте цей метод, якщо ви знаєте, що ви робите.
void set_process(enable: bool) 🔗
Якщо встановити до true, дозволяє обробляти. Коли буде оброблено вершину, він отримає NOTIFICATION_PROCESS на кожному зображеному кадрі (і _process() виклик буде викликано, якщо він існує).
Примітка: Якщо _process() перейдиден, це буде автоматично ввімкнено до _ready().
Примітка: Цей метод тільки впливає на зворотний зв'язок _process(), тобто він не впливає на інші виклики, такі як _physics_process(). Якщо ви хочете вимкнути всю обробку для вузла, встановіть process_mode до PROCESS_MODE_DISABLED.
void set_process_input(enable: bool) 🔗
Якщо встановити до true, дозволяє обробку вхідних даних.
Примітка: Якщо _input() перейменування, це буде автоматично ввімкнено до _ready(). Увімкнути обробку даних також можна для керування GUI, таких як Button та TextEdit.
void set_process_internal(enable: bool) 🔗
Якщо встановити до true, дозволяє внутрішню обробку для цього вузла. Внутрішня обробка відбувається в ізоляції від нормального _process() викликів і використовується деякими вузлами внутрішнє, щоб гарантувати належне функціонування, навіть якщо вершина використовується або обробка вимкнена для сценаріїв (set_process()).
Попередження: Вбудовані вузли спираються на внутрішню обробку для їх внутрішньої логіки. Небезпечний і може призвести до несподіваної поведінки. Використовуйте цей метод, якщо ви знаєте, що ви робите.
void set_process_shortcut_input(enable: bool) 🔗
Якщо встановити до true, дозволяє проводити обробку ярликів для цього вузла.
Примітка: Якщо _shortcut_input() перевизначається, це буде автоматично включений до _ready().
void set_process_unhandled_input(enable: bool) 🔗
Якщо встановити на true, дозволяє проводити обробку даних вхідного. Увімкнути вузол, щоб отримати всі вхідні дані, які раніше не були оброблені (зазвичай за допомогою Control).
Примітка: Якщо _unhandled_input() перейменований, це буде автоматично ввімкнено до _ready(). Увімкнути обробку даних також можна для керування графічними інтерфейсами, такими як Button та TextEdit.
void set_process_unhandled_key_input(enable: bool) 🔗
Якщо встановити до true, що дозволяє обробляти вхідний ключ.
Примітка: Якщо _unhandled_key_input() перейменований, це буде автоматично включений до _ready().
void set_scene_instance_load_placeholder(load_placeholder: bool) 🔗
Якщо встановлено значення true, вузол стає InstancePlaceholder після упаковки та створення екземпляра з PackedScene. Див. також get_scene_instance_load_placeholder().
void set_thread_safe(property: StringName, value: Variant) 🔗
Подібно до call_thread_safe(), але для налаштування властивостей.
void set_translation_domain_inherited() 🔗
Цей вузол успадковує домен перекладу від свого батьківського вузла. Якщо цей вузол не має батьківського вузла, буде використано основний домен перекладу.
Це стандартна поведінка для всіх вузлів. Виклик Object.set_translation_domain() вимикає цю поведінку.
void update_configuration_warnings() 🔗
Відновлює попередження, що відображаються для цього вузла в додатку сцени. Використовуйте _get_configuration_warnings() для налаштування повідомлень попередження для відображення.