Нажмите ОК, если Вы выражаете свое согласие на обработку Ваших персональных данных в соответствии с Согласием на обработку персональных данных и Политикой конфиденциальности. Вы можете запретить обработку cookies через браузер.
ОК

Как сделать
гравитацию в Scratch: пошаговый урок
для детей

Обучение в школе программирования «Пиксель» стало еще доступнее. Теперь вы можете выбрать удобный способ оплаты — оформить рассрочку или воспользоваться кредитной программой на обучение. Это позволяет ребенку начать изучение программирования, создания игр и цифровых навыков уже сейчас, не откладывая старт в IT на потом.

Рассрочка дает возможность разделить оплату курса на комфортные платежи без переплаты, а кредит — гибко подобрать условия обучения под семейный бюджет. Таким образом, ребенок может сразу приступить к занятиям, а родители — распределить финансовую нагрузку во времени.

Подробнее о вариантах оплаты и условиях можно узнать на страницах программ рассрочки и кредита школы «Пиксель».

Попробуйте бесплатно!

Оставьте свой номер: мы позвоним, чтобы записать на бесплатное занятие и ответить на все ваши вопросы.

Введение

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

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

Такой проект подойдет начинающим ученикам: во время работы мы познакомимся с переменными, циклами, условиями и координатами.
Скидка 10% для новых клиентов при записи в день обращения*
Отправьте заявку, и мы свяжемся с вами для консультации
* Скидка действует по промокоду на покупку первого абонемента от 12 занятий и более в день обращения. Новым считается клиент, прежде ни разу не приобретавший абонемент в школе.

Что такое гравитация в Scratch?

В реальном мире гравитация заставляет предметы падать вниз. В Scratch настоящую физическую силу создавать не требуется — мы можем имитировать ее с помощью алгоритма.

Для этого используем переменную «Сила притяжения». Она будет постепенно изменяться, а ее значение — влиять на положение персонажа по вертикальной оси Y.

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

Как сделать гравитацию в Scratch?

Шаг 1. Создаем переменную «Сила притяжения». Для начала выберем персонажа.
В качестве примера можно использовать стандартного кота Scratch.

Теперь создадим переменную:

  1. Откройте раздел «Переменные».
  2. Нажмите «Создать переменную».
  3. Назовите ее «Сила притяжения».
  4. В начале игры установите ее значение равным 0.
Для запуска алгоритма используем блок:

«Когда флаг нажат»
После него добавляем:
«Задать сила притяжения значение 0»
Теперь переменная готова к работе.

Шаг 2. Добавляем падение персонажа. Следующая задача — заставить персонажа постоянно двигаться вниз.

Для этого используем цикл:

«Повторять всегда»
Внутри цикла разместим две команды:
  • изменить «Сила притяжения» на -1;
  • изменить Y на «Сила притяжения».
Получается следующая последовательность:
Когда флаг нажат Задать «Сила притяжения» значение 0 Повторять всегда Изменить «Сила притяжения» на -1 Изменить Y на «Сила притяжения»

Почему используется значение -1?

В Scratch координата Y уменьшается, когда объект движется вниз. Поэтому отрицательное значение переменной заставляет персонажа опускаться.
При каждом повторении цикла сила притяжения становится меньше:
0 → -1 → -2 → -3 → -4...

Одновременно меняется координата Y. Поэтому персонаж не просто движется вниз с постоянной скоростью, а постепенно ускоряет падение.

Шаг 3. Создаем поверхность. Если сейчас запустить проект, персонаж просто упадет за пределы сцены. Чтобы этого не происходило, добавим землю.

Создайте на сцене поверхность определенного цвета. Например, можно нарисовать зеленую полосу в нижней части игрового поля.

Теперь нам необходимо объяснить Scratch, что при соприкосновении с этой поверхностью персонаж должен остановиться.

Шаг 4. Останавливаем персонажа на земле. Для проверки соприкосновения используем условие:

«Если — то»
Внутрь условия добавим блок:
«касается цвета?»
Здесь важно выбрать именно тот цвет, которым нарисована поверхность.
Внутри условия зададим изменение силы притяжения:
«Задать сила притяжения значение 1»

В итоге логика будет выглядеть примерно так:

Повторять всегда Изменить «Сила притяжения» на -1 Изменить Y на «Сила притяжения» Если касается цвета земли, то Задать «Сила притяжения» значение 1

Теперь снова запустите проект.

Если все сделано правильно, персонаж упадет вниз, коснется поверхности и остановится на уровне земли.

Почему персонаж останавливается?

Пока кот находится в воздухе, сила притяжения постепенно увеличивается по модулю в отрицательную сторону, поэтому он движется вниз.

Когда персонаж касается земли, срабатывает условие и значение переменной меняется. Благодаря этому падение прекращается.

Если персонаж продолжает проваливаться сквозь землю, прежде всего проверьте цвет в блоке «касается цвета?». Он должен точно соответствовать цвету поверхности.

Шаг 5. Настраиваем прыжок. Теперь добавим еще одну важную игровую механику — прыжок.
Создадим отдельный блок «Прыжок». Чтобы персонаж смог подняться вверх, нужно изменить значение силы притяжения на положительное.

Для запуска прыжка будем использовать клавишу пробел.

Добавляем условие:

«Если клавиша пробела нажата, то»
Внутри него задаем:
«Изменить сила притяжения на 20»
Положительное значение заставит персонажа двигаться вверх.

Логика прыжка:
Если клавиша «пробел» нажата, то Изменить «Сила притяжения» на 20

При этом прыжок должен работать, когда персонаж находится на поверхности. Поэтому блок необходимо расположить в соответствующей части алгоритма.

Запустите проект и нажмите пробел.

Теперь персонаж должен подпрыгивать вверх, а затем снова опускаться вниз под действием созданной нами гравитации.

Как работает гравитация в нашем проекте?

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

Переменная хранит значение силы притяжения.

Цикл «Повторять всегда» постоянно выполняет команды падения.

Координата Y определяет вертикальное положение персонажа.

Условие «Если — то» проверяет, касается ли персонаж поверхности.

Клавиша пробела запускает прыжок.

Вместе эти элементы создают игровую механику, похожую на физику движения.
Заберите PDF-карту
IT-профессий будущего для школьников:
что реально востребовано и какие навыки развивать уже сейчас
Чтобы получить файл, укажите данные
Сохраните памятку «Нейросети для учёбы без списывания»
с правилами полезного использования ИИ
Чтобы получить файл, укажите данные

Что можно добавить в игру?

После того как базовая гравитация заработает, проект можно сделать гораздо интереснее.

Например, добавить:

  • несколько платформ;
  • препятствия;
  • движущиеся платформы;
  • несколько уровней;
  • врагов;
  • счетчик очков;
  • ограничение количества жизней;
  • двойной прыжок;
  • бонусы и дополнительные предметы.
Так простой учебный проект постепенно можно превратить в полноценную игру.

Частые ошибки

Персонаж продолжает падать. Проверьте блок «касается цвета?». Цвет поверхности и цвет, указанный в условии, должны совпадать.

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

Персонаж прыгает слишком высоко. Попробуйте уменьшить значение силы, например вместо 20 использовать меньшее число.

Персонаж падает слишком быстроИзмените значение, на которое переменная уменьшается внутри цикла. Чем быстрее уменьшается сила притяжения, тем быстрее будет разгоняться персонаж.

Чему ребенок научится на этом проекте?

Создавая гравитацию в Scratch, ученик познакомится сразу с несколькими важными понятиями программирования:

  • переменными;
  • циклами;
  • условиями;
  • координатами X и Y;
  • алгоритмами;
  • обработкой нажатия клавиш;
  • взаимодействием персонажа с объектами.
Главное преимущество такого проекта в том, что ребенок сразу видит результат своих действий. Изменил значение переменной — изменилось поведение персонажа. Добавил условие — появилась новая механика.

Так постепенно формируется понимание того, как устроены алгоритмы и как с помощью последовательности команд можно управлять объектами в игре.

Заключение

Мы разобрали, как сделать гравитацию в Scratch, и создали базовую механику падения и прыжка персонажа. Для этого понадобились переменная «Сила притяжения», цикл, условие, координата Y и обработка нажатия клавиши.

На основе этого алгоритма можно создавать собственные платформеры, добавлять новые уровни, препятствия и игровые механики.

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

FAQ

Гравитация в Scratch — это игровая механика, которая имитирует падение персонажа вниз. Она создается с помощью переменной, изменения координаты Y, циклов и условий.
Понравилась статья?

Читайте также:

    Подборка курсов

    Заполните заявку
    на доступ
    кбесплатным
    курсам для детей
    После заполнения формы вы получите доступ в личный кабинет
    Понадобится помощь взрослого*