Найти тему
Игровой движок Godot engine

№197. Godot4. Tween. Методы set_delay() и tween_interval().

Расширение к общей статье и дополнению.
В этот раз рассмотрим вопрос связанный с паузами в твинах.

Сцена простая, спрайт и скрипт на родителе :

Два твина, первый двигает вправо, второй влево. Как вы могли заметить режима parallel тут нет, поэтому они отработаются по очереди.

-2

Если нам нужна пауза между твинами, то используем tween_interval().
Метод принимает время в секундах.

-3
-4

Важно помнить, что в режиме параллельности это работать не будет.

Метод set_delay() в свою очередь работает как задержка для конкретного твина.
В метод передается время в секундах, спустя которое твин стартанет.

В данном примере сначала будет пауза в одну секунду и лишь затем отработаются по очереди оба твина.

-5

Но если мы включим режим параллельности, то паузы в начале вообще не будет. Потому как оба твина включатся одновремнно, и в нашем случае сразу же начнет работать второй твин, а первый подключится только через секунду.

Для того, чтобы получить паузу в начале в режиме параллельности нам надо прописать задежку для обоих твинов. Не забывая при этом прибавлять значения времени самих твинов:

-6

Ну и как вы могли догадаться , тут мы можем жонглировать твинами как нам угодно.

Важно тут помнить вот что: что всякий новый твин который модифицирует такое же свойство при старте обрывает действие предыдущего.

********

В качестве послесловия напомню, что есть прекрасный метод as_ralative() который запустит трансформации с текущих значений.
К примеру спрайт в данном случае поедет из текущих координат прибавив к ним те, что мы указали в твине.

-7

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

-8