Первую игру в Scratch проще создать, если не пытаться сразу сделать большой проект. Начнём с небольшой игры «Собери звёзды»: игрок двигает персонажа стрелками, собирает предметы и получает очки. Когда все звёзды собраны, появляется сообщение о победе.
В проекте ребёнок познакомится с событиями, циклами, условиями, переменными и проверкой касания спрайтов. Это не единственный способ собрать игру, но на таком примере удобно увидеть, как отдельные команды работают вместе.
Что понадобится
Для игры подготовьте:
фон игрового поля;
персонажа, которым будет управлять игрок;
три предмета для сбора — например, звезды;
переменную для подсчёта очков;
сообщение, которое появится после сбора всех предметов.
Названия кнопок и блоков в Scratch могут немного отличаться в зависимости от языка интерфейса. Обычно нужные команды находятся в категориях «События», «Управление», «Движение», «Датчики», «Переменные» и «Внешний вид».
Шаг 1. Создайте проект и выберите фон
Откройте Scratch и создайте новый проект. Выберите фон сцены: например, сад, комнату или космическое поле. Можно оставить стандартный фон или нарисовать свой.
Для начала сделайте игровое поле простым и свободным от лишних деталей: так персонажа и звёзды будет хорошо видно.
Шаг 2. Выберите персонажа
Оставьте спрайт кота или выберите другого персонажа из библиотеки Scratch. При желании ребёнок может нарисовать своего героя.
Поставьте персонажа в левую часть сцены. В Scratch координата x отвечает за положение по горизонтали, а y — по вертикали. Центр сцены находится примерно в точке x: 0, y: 0.
Шаг 3. Добавьте звёзды
Добавьте спрайт звезды. Разместите его в любой части сцены, например в точке x: 100, y: 100.
Затем добавьте ещё два спрайта звезды. Их можно создать повторно из библиотеки или продублировать первый спрайт. Разместите звёзды в разных местах, чтобы игроку пришлось перемещаться по полю.
Назовите их, например:
Звезда 1
Звезда 2
Звезда 3
Если дублируете спрайт, проверьте координаты каждой копии: звёзды не должны лежать одна на другой.
Шаг 4. Создайте счётчик очков
Откройте категорию «Переменные» и создайте переменную:
Очки
Можно сделать её видимой на сцене: тогда ребёнок увидит, как меняется счёт во время игры.
Переменную нужно обнулить в начале каждого запуска. Это удобно сделать в скрипте персонажа.
Шаг 5. Настройте управление персонажем
Выберите спрайт персонажа и соберите такой скрипт:
когда щёлкнут по зелёному флагу
установить x в -200
установить y в 0
установить [Очки] в 0
всегда
если клавиша [стрелка вправо] нажата
изменить x на 5
если клавиша [стрелка влево] нажата
изменить x на -5
если клавиша [стрелка вверх] нажата
изменить y на 5
если клавиша [стрелка вниз] нажата
изменить y на -5
Для проверки нажатия клавиши используется блок из категории «Датчики». Команды изменения координат находятся в категории «Движение», а блок «всегда» — в категории «Управление».
Теперь персонаж должен двигаться во все стороны при нажатии стрелок.
Как не дать персонажу уйти за край
Если герой может покинуть сцену, добавьте в цикл проверки границ:
если x > 220, установить x в 220
если x < -220, установить x в -220
если y > 160, установить y в 160
если y < -160, установить y в -160
Для первого проекта можно пропустить эту часть и добавить её позже, когда основная игра заработает.
Шаг 6. Настройте сбор первой звезды
Выберите спрайт «Звезда 1» и добавьте скрипт:
когда щёлкнут по зелёному флагу
показаться
всегда
если касается [Персонаж]
изменить [Очки] на 1
спрятаться
В блоке касания выберите имя спрайта персонажа. Если он называется иначе, например «Кот», выберите именно это имя.
После касания звезда исчезает, а счёт увеличивается на один. Блок «показаться» нужен, чтобы предмет возвращался на сцену при новом запуске игры.
Шаг 7. Повторите настройку для остальных звёзд
Добавьте такой же скрипт для «Звезда 2» и «Звезда 3».
У каждой звезды должен быть собственный скрипт. Проверьте, что в блоке касания выбран один и тот же персонаж, а не другая звезда.
Запустите игру зелёным флагом и проверьте:
управляется ли персонаж стрелками;
исчезает ли звезда после касания;
увеличивается ли счёт;
появляются ли звёзды снова после перезапуска.
Шаг 8. Добавьте сообщение о победе
Выберите спрайт персонажа и добавьте ещё один скрипт:
когда щёлкнут по зелёному флагу
ждать до тех пор, пока [Очки = 3]
передать сообщение [Победа]
Чтобы создать сообщение, откройте блок «передать сообщение» и выберите создание нового сообщения с названием «Победа».
Затем добавьте для персонажа обработчик этого сообщения:
когда я получу [Победа]
сказать [Ты собрал все звёзды!] в течение 3 секунд
Теперь после сбора трёх предметов персонаж поздравит игрока.
Как проверить игру
Проведите короткое тестирование:
Нажмите зелёный флаг.
Убедитесь, что счётчик показывает ноль.
Передвиньте персонажа к каждой звезде.
Проверьте, что каждая звезда исчезает только один раз.
Убедитесь, что счёт увеличивается на единицу после касания.
Соберите все предметы и дождитесь сообщения о победе.
Запустите игру снова и проверьте, что звёзды вернулись, а счёт обнулился.
Если счёт увеличивается несколько раз за одно касание, проверьте, что после столкновения звезда скрывается. Если предмет не исчезает, проверьте имя спрайта в условии касания.
Что можно улучшить
Когда базовая версия заработает, предложите ребёнку выбрать одно улучшение:
добавить четвёртую звезду;
заменить персонажа и фон;
добавить звуковой эффект при сборе;
изменить скорость движения;
добавить таймер;
разместить предметы в случайных местах;
добавить препятствия;
придумать второй уровень.
Лучше добавлять по одному новому элементу и после каждого изменения снова проверять игру. Так ребёнок сможет понять, какая команда отвечает за результат.
Как объяснить ребёнку логику игры
Попросите ребёнка рассказать, что происходит после нажатия зелёного флага. Например:
персонаж перемещается в стартовую точку;
счёт обнуляется;
игра постоянно проверяет нажатие клавиш;
звезда следит, касается ли её персонаж;
после касания счёт меняется, а звезда скрывается;
когда очков становится три, появляется сообщение.
Если ребёнок может объяснить эти шаги своими словами, он уже не просто соединяет блоки, а понимает логику проекта.
Идеи для скриншотов к статье
Чтобы читателю было удобно повторять проект, добавьте собственные скриншоты из Scratch:
Готовая сцена игры — персонаж, звёзды и счётчик очков.
Скрипт управления персонажем — блоки движения по стрелкам.
Скрипт одной звезды — проверка касания, начисление очка и скрытие.
Скрипт победы — ожидание нужного количества очков и сообщение.
Игра после победы — пример результата.
Скриншоты должны показывать блоки и их порядок, а не только готовую сцену. Если интерфейс проекта отличается от текста статьи, обновите примеры, чтобы они совпадали.
Частые ошибки начинающих
Не обнулили счёт
Если переменная не сбрасывается при запуске, в следующей игре могут остаться старые очки. Добавьте команду установки счёта в ноль при нажатии зелёного флага.
Забыли показать звёзды при запуске
После предыдущей игры спрайты могут остаться скрытыми. В начале скрипта каждой звезды должна быть команда «показаться».
Не выбрали нужный спрайт в блоке касания
Проверьте, что звезда проверяет касание именно с персонажем. Имена спрайтов можно посмотреть в списке объектов проекта.
Слишком быстрое движение
Если персонаж плохо управляется, уменьшите шаг изменения координаты. Если игра кажется медленной, увеличьте его понемногу и снова протестируйте.
Добавили слишком много новых функций сразу
Если одновременно изменить управление, скорость, правила и оформление, сложнее понять, почему игра перестала работать. Меняйте проект постепенно.
Главное
В игре «Собери звёзды» ребёнок создаёт сцену, настраивает движение персонажа, считает очки и добавляет условие победы. Проект небольшой, но в нём уже есть важные основы программирования: события, циклы, условия и переменные.
Когда игра заработает, предложите ребёнку выбрать одно улучшение и самостоятельно проверить результат. Так первая игра станет не только готовым проектом, но и началом экспериментов с кодом.
