AE tips | Заполнение времени с одинаковым интервалом
@dimanas1Сегодня мы рассмотрим как заполнять время с одинаковым интервалом. У меня частенько возникает потребность заполнять это в погодных шаблонах и сегодня я хочу рассказать как я это решил.
В итоги должно получиться что-то вроде этого:
Задача:
Есть несколько текстовых слоёв, необходимо в один забить исходное время и что бы время последующего слоя смещалось на заданный интервал. Нужно сделать что бы время как прибавлялось от исходного так и уменьшалось. Работать необходимо только с часами, минуты не учитываем.
Решение:
Создаём текстовый откуда у нас будет браться исходное время. Назовём его «INSERT_TIME».
Далее создадим слой «time_01» это и будет нашим главным слоем.
Накидываем на него 3 слайдера:
num — будет контролировать слой по счёту.
hour_value — будет выдавать час из слоя «INSERT_TIME».
min_value — будет выдавать минуты из слоя «INSERT_TIME».
interval — будет задавать нам нужное смещение.
И чекбоксов:
hourZero — будет выбирать из формата часа между „09:41“ и „9:41“.
min — включает/выключает минуты.
В num прописываем следующее:
num = parseInt(thisLayer.name.slice(-2)) || 1;
Это выражение будет давать нам цифру из названия слоя.
В hour_value такое выражение:
А в min_value:
С переменными закончили, теперь небольшое выражение, которое вставим в сурс текст:
Но это выражение подходит только для первого слоя, а я хочу создать первый слой и копировать его. Тогда я поступлю так:
А для тех слоёв, которые не первые создадим парочку условий посложней:
Здесь я учёл только если час + интервал меньше 10, и если интервал положителен. Вот ССЫЛКА здесь я расписал в полном коде что да как работает.
А по этой ССЫЛКЕ можно посмотреть готовый код без комментов. Там около 200 строк здесь это довольно-таки скучно будет расписывать, можете почитать что в коде написано или просто скопировать под свои задачи. Да есть недочёты в нём, если интервал больше 24, то всё становится худо, но у меня и не было такой задачи. Но в целом задача решена, и я этому рад!
Всем спасибо за то, что дочитали до этого места.
Отдельная благодарность за советы и перепосты Warch'у.
Если вам интересны подобные фишки,
то подписывайтесь на Телеграм-канал.