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

№26. Разбираем ноду "Таймер".

Таимер позволяет нам стартовать события с определенным интервалом, либо единожды через определенное время.

Для запуска события единожды , нам надо поставить галочку возле One Shot.
Wait time это время которое ожидает таимер перед тем как сработать.

Для старта таимера необходимо использовать метод start(). Для остановки stop()

Давайте напишем простенький код, который выведет в лейбл слово «DONE» спустя 2 секунды.

Сцена выглядит следующим образом :

Сделаем wait time = 2 и поставим галочку возле One shot

-2

Далее на ноду room_01 вешаем скрипт. И подключаем в него сигнал от таимера — timeout(). Можно напрямую, можно через код. Как вам удобнее.
Я сделал напрямую.

Теперь пишем код :

-3

Результатом будет появление слова DONE в лейбле спустя 2 секунды.

Таймер можно запустить с постоянными повторами. Собственно отсутствие галочки возле One Shot заставляет таимер работать в постоянном цикле.
Остановить его можно, как уже было написано выше при помощи метода
stop().

Давайте сделаем счетчик который будет считать до 10 , с паузами в полсекунды.

Отключаем галочку One Shot, и ставим Wait time = 0.5

-4

Далее в скрипте нам надо завести переменную counter. К которой мы будем прибавлять единицу при срабатывании таимера.
Ну и в условии пропишем, что если наш счетчик больше 10 , то мы его останавливаем.

-5

Запускаем, и наблюдаем наш счетчик.

-6

Надеюсь вам был полезен этот материал. Ставьте палец вверх и подписывайтесь !