Как сделать бесконечный цикл в Scratch?
Хочу, чтобы что-то происходило всё время, пока идёт игра. Как сделать вечный цикл в скретче, который не останавливается?
2 ответа
Для этого есть особый блок «всегда» (по-английски forever) из оранжевой полки «Управление». 🔄 Он повторяет команды внутри бесконечно, пока ты не нажмёшь красный стоп.
Выглядит как скобка-обнимашка, но без числа — потому что повторов нет конца.
Пример — кот всё время поворачивается за мышкой:
когда нажат зелёный флажок
всегда
повернуться к указателю мыши
Или чтобы герой постоянно бежал и отскакивал от стен:
когда нажат зелёный флажок
всегда
идти 10 шагов
если касается края, оттолкнуться
Когда нужен «всегда»? Когда что-то должно работать всю игру: проверять нажатия клавиш, следить за столкновениями, двигать фон. Это сердце почти любой игры. ❤️
Отличие от обычного «повторить 10 раз»: там команда повторится ровно 10 раз и остановится, а во «всегда» — бесконечно.
Важная особенность: заметь, у блока «всегда» нет места снизу для других блоков. Это специально — после бесконечного цикла команды всё равно бы никогда не выполнились, ведь он не заканчивается. Всё, что должно идти после, ставь внутрь или в отдельный скрипт. ✅
Совет: если внутри «всегда» нет ни одной паузы, а есть только смена костюмов или счёт, всё может мелькать слишком быстро. Добавь блок «ждать 0.1 секунд» внутрь, чтобы притормозить.
И ещё: бесконечных циклов в одном спрайте может быть несколько — например, один следит за клавишами, другой меняет фон. Они спокойно крутятся параллельно. 👍