← Все вопросы

Как сделать бесконечный цикл в Scratch?

Задан 13 месяцев назад1.4к просмотров2 ответа
9

Хочу, чтобы что-то происходило всё время, пока идёт игра. Как сделать вечный цикл в скретче, который не останавливается?

2 ответа

12
✓ Принятый ответ — помог автору

Для этого есть особый блок «всегда» (по-английски forever) из оранжевой полки «Управление». 🔄 Он повторяет команды внутри бесконечно, пока ты не нажмёшь красный стоп.

Выглядит как скобка-обнимашка, но без числа — потому что повторов нет конца.

Пример — кот всё время поворачивается за мышкой:

когда нажат зелёный флажок
всегда
    повернуться к указателю мыши

Или чтобы герой постоянно бежал и отскакивал от стен:

когда нажат зелёный флажок
всегда
    идти 10 шагов
    если касается края, оттолкнуться

Когда нужен «всегда»? Когда что-то должно работать всю игру: проверять нажатия клавиш, следить за столкновениями, двигать фон. Это сердце почти любой игры. ❤️

Отличие от обычного «повторить 10 раз»: там команда повторится ровно 10 раз и остановится, а во «всегда» — бесконечно.

Важная особенность: заметь, у блока «всегда» нет места снизу для других блоков. Это специально — после бесконечного цикла команды всё равно бы никогда не выполнились, ведь он не заканчивается. Всё, что должно идти после, ставь внутрь или в отдельный скрипт. ✅

4

Совет: если внутри «всегда» нет ни одной паузы, а есть только смена костюмов или счёт, всё может мелькать слишком быстро. Добавь блок «ждать 0.1 секунд» внутрь, чтобы притормозить.

И ещё: бесконечных циклов в одном спрайте может быть несколько — например, один следит за клавишами, другой меняет фон. Они спокойно крутятся параллельно. 👍

Ваш ответ

Войдите, чтобы ответить на вопрос.