Как замедлить действие цикла?

MagicMan_Rostov

Эксперт
Регистрация
2 Май 2023
Сообщения
24
Мне не пришло никаких идей на голову, как замедлить цикл. Объясню, что мне требуется.

Мой код выглядит так:

Цикл(40) - Вызвать функцию 1 - Ждать (2 сек) - Вызвать функцию 2

Мне нужно чтобы после первой прокрутки задачи функция 2 запускалась каждые 4 секунды, а не две. Я пробовал вариант с остановкой цикла и включением его обратно каждые 4 секунды, однако этот вариант работал странно. Если есть какие-то идеи не занимающие мозговой нагрузки, то предлагайте.
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
357
Мне не пришло никаких идей на голову, как замедлить цикл. Объясню, что мне требуется.

Мой код выглядит так:

Цикл(40) - Вызвать функцию 1 - Ждать (2 сек) - Вызвать функцию 2

Мне нужно чтобы после первой прокрутки задачи функция 2 запускалась каждые 4 секунды, а не две. Я пробовал вариант с остановкой цикла и включением его обратно каждые 4 секунды, однако этот вариант работал странно. Если есть какие-то идеи не занимающие мозговой нагрузки, то предлагайте.
то есть в цикле один раз тебе надо запустить функ-1 один раз, а функ 2 каждые 4 секунды?
Сообщение объединено:

Цикл(40) - Вызвать функцию 1 - Ждать (2 сек) - Вызвать функцию 2
во первых, задержка цикла работает не так, как ты думаешь, она не учитывает задержки "ждать", то есть если:
Цикл (20) - Ждать (21) - Любое действие: не сработает, т.к. цикл не учитывает "ждать" в плане своей задержки, он так-же через 20 тиков запустится, то есть "любое действие" не успеет проиграться
 

thykto

Участник
Регистрация
31 Мар 2024
Сообщения
7
Мне не пришло никаких идей на голову, как замедлить цикл. Объясню, что мне требуется.

Мой код выглядит так:

Цикл(40) - Вызвать функцию 1 - Ждать (2 сек) - Вызвать функцию 2

Мне нужно чтобы после первой прокрутки задачи функция 2 запускалась каждые 4 секунды, а не две. Я пробовал вариант с остановкой цикла и включением его обратно каждые 4 секунды, однако этот вариант работал странно. Если есть какие-то идеи не занимающие мозговой нагрузки, то предлагайте.
Во-первых: я буду исходить из логики, что первая функция запускаться будет каждый раз, а изменения ты планируешь распространить только на вторую.

Если переменная == 2, установить переменную 4 в конце второй функции. "Ждать" во вторую функцию в конце (просто поставь пустое условие, чтобы был поршень и после него поставь "ждать") и сделай ее синхронной, если она не была такой. По идее, цикл будет ждать завершения второй функции и только после этого начнет все заново.
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
357
может человек не видит, что ты сразу :geek:
ни в одной теме, в которых у него есть ответ, он ничего не сказал, ни спасибо, ни окей щас попробую, ничего
зачем ты нёрда просто так кидаешь

и когда его спрашиваешь что-то тоже молчит
возможно оба наших решения ему и не нужны, вдруг он другое имел ввиду
 

MagicMan_Rostov

Эксперт
Регистрация
2 Май 2023
Сообщения
24
ни в одной теме, в которых у него есть ответ, он ничего не сказал, ни спасибо, ни окей щас попробую, ничего
зачем ты нёрда просто так кидаешь

и когда его спрашиваешь что-то тоже молчит
возможно оба наших решения ему и не нужны, вдруг он другое имел ввиду
Извиняюсь, все никак не доходили руки до ответа.
Если переменная == 2, установить переменную 4 в конце второй функции. "Ждать" во вторую функцию в конце (просто поставь пустое условие, чтобы был поршень и после него поставь "ждать") и сделай ее синхронной, если она не была такой. По идее, цикл будет ждать завершения второй функции и только после этого начнет все заново.
Попробовал как ты предложил, работает все так как мне и требовалось, спасибо.
то есть в цикле один раз тебе надо запустить функ-1 один раз, а функ 2 каждые 4 секунды?
Именно так, я нашел способ полегче, запускать функцию 2 в отдельном цикле каждые 80 тиков, однако работало не так как мне нужно - код должен был ждать окончания первой функции, а потом через указанное время запускать функцию 2, как и было сказано ранее, игра с переменными мне помогла.
ни в одной теме, в которых у него есть ответ, он ничего не сказал, ни спасибо, ни окей щас попробую, ничего
Может у меня есть дела полезнее и более нужные чем поблагодарить человека? Понимаю, что игнорирование обидное, учту и буду говорить хотя-бы одно слово.

В любом случае, решение на просьбу появилось и оно работает, всем спасибо за помощь и потраченное на меня время.
 
Сверху