Найти в Дзене
Игровой движок Godot engine

№38. Смена родителя через код.

ВАЖНО. В Godot 4 появился метод reparent(). В конце статьи я прикрепил пример кода


Иногда бывает необходимо сменить место ноды в иерархии непосредственно через код.
Для этого подходят наши старые знакомые (для тех кто читает все статьи с самого начала) методы
add_child() и remove_child()

В нашей сцене есть две ноды G1 и G2. Положим под G2 ноду child. И перенесем её через код спустя секунду после старта под ноду G1.

леиблами я пометил позиции нод G1 и G2
леиблами я пометил позиции нод G1 и G2

На картинке я описал в комментариях всё происходящее.

-2

Результат:

-3

Спрайт перелетает из координат ноды G2 в координаты ноды G1, как и планировалось.

В remote так же видим что нода сменила родителя и теперь находится под G1.

-4

GODOT 4 , reparent.

Тут всё очень просто. Указываем куда переместиться и всё.
Метод принимает два аргумента - ноду, и bool. Если выставить false, то переносимая нода будет учитывать координаты нового родителя :

-5

На этом всё.

Ставьте лайк, подписывайтесь на канал, вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !