AE tips | Заполнение времени с одинаковым интервалом 

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 такое выражение:

Оно будет брать час из «INSERT_TIME»

Скачать.


А в min_value:

По аналогии с часами только с минутами.

Скачать.




С переменными закончили, теперь небольшое выражение, которое вставим в сурс текст:

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


А для тех слоёв, которые не первые создадим парочку условий посложней:

Здесь я учёл только если час + интервал меньше 10, и если интервал положителен. Вот ССЫЛКА здесь я расписал в полном коде что да как работает.

А по этой ССЫЛКЕ можно посмотреть готовый код без комментов. Там около 200 строк здесь это довольно-таки скучно будет расписывать, можете почитать что в коде написано или просто скопировать под свои задачи. Да есть недочёты в нём, если интервал больше 24, то всё становится худо, но у меня и не было такой задачи. Но в целом задача решена, и я этому рад!


Всем спасибо за то, что дочитали до этого места.
Отдельная благодарность за советы и перепосты Warch'у.
Если вам интересны подобные фишки, 
то подписывайтесь на Телеграм-канал.


Report Page