#godot #gdscript
Вопрос:
Я добавил таймер с одним выстрелом и подключил функцию прослушивания timeout()
сигнала. После того, как в моей игре произойдет какое-то действие, я хочу перезапустить таймер по его первоначальному Wait Time
значению.
Я попытался сбросить таймер на тот Wait Time
, который я установил в инспекторе, вот так:
$Timer.time_left = $Timer.wait_time
Это приводит к ошибке:
Invalid set index 'time_left' (on base: 'Timer') with value of type 'float'.
Как мне вернуть время в исходное Wait Time
значение в инспекторе?
Ответ №1:
Глядя на документацию по таймеру, там говорится, что вы не можете установить time_left
свойство и вместо этого должны использовать start
:
Примечание: Вы не можете установить это значение. Чтобы изменить оставшееся время таймера, используйте
start
.
Вызов start
без каких-либо параметров перезапускает таймер до его первоначального Wait Time
значения:
$Timer.start()
start
Метод также принимает необязательный time_sec
параметр, который вместо этого может перезапустить таймер на новое время ожидания:
$Timer.start(0.5)