Полезная информация ДЖУНИОР-КИДС

Первая игра в Scratch: пошаговый проект для ребёнка

Ребёнок занимается математикой онлайн с преподавателем
Блог 5 мин чтения

Первую игру в 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:

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

Частые ошибки начинающих
Не обнулили счёт
Если переменная не сбрасывается при запуске, в следующей игре могут остаться старые очки. Добавьте команду установки счёта в ноль при нажатии зелёного флага.

Забыли показать звёзды при запуске
После предыдущей игры спрайты могут остаться скрытыми. В начале скрипта каждой звезды должна быть команда «показаться».

Не выбрали нужный спрайт в блоке касания
Проверьте, что звезда проверяет касание именно с персонажем. Имена спрайтов можно посмотреть в списке объектов проекта.

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

Добавили слишком много новых функций сразу
Если одновременно изменить управление, скорость, правила и оформление, сложнее понять, почему игра перестала работать. Меняйте проект постепенно.

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

Когда игра заработает, предложите ребёнку выбрать одно улучшение и самостоятельно проверить результат. Так первая игра станет не только готовым проектом, но и началом экспериментов с кодом.

Записаться на бесплатный пробный урок

На пробном уроке ребёнок познакомится с преподавателем и попробует решать задачи по программированию.

Made on
Tilda