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

№241. Кнопка с таймером.

В этой статье покажу как собрать простейшую «cooldown» (по руски это будет наверное как «остывание») кнопку. Собственно наша цель показать некий визуальный прогресс, то сколько времени нам ждать до разморозки кнопки и возможности нажать снова.
И для этих целей вполне подойдет нода TextureProgressBar.
Она уже содержит внутри себя всё что нужно для создания прогресс баров. Добавляем её в проект. И выбираем из списка тип заливки - Counter Clockwise Далее добавляем одну и ту же текстуру в слоты Under и Progress.(можно разные, в моем случае я показываю прогресс через цвет) В закладке Tint делаем темно серый цвет у Progress слоя. (тут по желанию) Остальные настройки можно оставить как есть, и далее можно уходить в код. Навешиваем на наш бар скрипт, и для того чтобы мы могли кликать по иконке подключаем сигнал gui_input В код закидываем переменную hold. Она отвечает у нас за то, занята у нас иконка в текущий момент или нет.
Время на заморозку я вынес в переменную tim. Устанавливаю значение эт

В этой статье покажу как собрать простейшую «cooldown» (по руски это будет наверное как «остывание») кнопку.

Собственно наша цель показать некий визуальный прогресс, то сколько времени нам ждать до разморозки кнопки и возможности нажать снова.
И для этих целей вполне подойдет нода
TextureProgressBar.
Она уже содержит внутри себя всё что нужно для создания прогресс баров. Добавляем её в проект. И выбираем из списка тип заливки - Counter Clockwise

-2

Далее добавляем одну и ту же текстуру в слоты Under и Progress.(можно разные, в моем случае я показываю прогресс через цвет)

-3

В закладке Tint делаем темно серый цвет у Progress слоя. (тут по желанию)

-4

Остальные настройки можно оставить как есть, и далее можно уходить в код.

Навешиваем на наш бар скрипт, и для того чтобы мы могли кликать по иконке подключаем сигнал gui_input

-5

В код закидываем переменную hold. Она отвечает у нас за то, занята у нас иконка в текущий момент или нет.
Время на заморозку я вынес в переменную
tim. Устанавливаю значение этой переменной в меню ноды. ( в последующем , когда мы наклонируем иконок, мы сможем установить таким образом разные значения разным иконкам)

Ну и далее по клику стартуем твин, в котором двигаем значения прогресс бара.
Если не знакомы с твинами - ищите статьи в группе. Там их не одна и не две =)

-6

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