Блог онлайн школы Пиксель

Как создать платформер на Scratch

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

Хотите вместе с детьми попробовать делать игры на Scratch 3.0? Преподаватели школы программирования «Пиксель» подготовили бесплатный урок, в котором рассказали, как создать игру в Scratch. 

Как нарисовать платформу и персонажа для игры на Scratch


Создание игры-платформера в Скретч начинается с нового персонажа и игрового поля. Рассказываем, как их сделать.

Начнем с персонажа, вдохновленного игрой «Geometry Dash», где обычный квадрат перемещается по полю. Создаем желтый квадрат, потом меняем цвет на черный, выбираем инструмент «Прямоугольник» и рисуем нашему герою два черных глаза. 

Теперь создадим новый спрайт для фона и нарисуем в нем платформы, на которые будет прыгать квадрат. Выбираем коричневый цвет, убираем обводку и инструментом «Прямоугольник» обозначаем первый блок платформы. Затем копируем этот прямоугольник и двигаем его вправо, оставляя между ними небольшое расстояние. Меняем цвет на зеленый, им мы будем создавать траву сверху коричневых блоков. Тем же инструментом растягиваем зеленый слой поверх коричневого на обеих платформах.

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

Теперь необходимо сделать так, чтобы коричневая подложка оставалась фоном, а игровой частью платформ была только трава. Для этого создаем новый спрайт и называем его «земля». По очереди копируем блоки коричневого цвета, нажимая Ctrl+C и вставляя их на спрайт «земля» сочетанием клавиш Ctrl+V. На новом спрайте каждый из блоков будет вставать на свое прежнее место. После того, как мы перенесли всю землю на новый спрайт, удаляем все коричневые блоки. В результате у нас должен остаться один спрайт, где находится только верхний слой травы и второй, где размещены все блоки коричневого цвета.

Последний элемент игры-платформера в Скрэтч — огонь, горящий в пропасти между двумя нижними блоками. Берем инструмент кисть, выбираем красный цвет и рисуем очертания пламени. Затем добавляем в него мазки оранжевым и желтым и размещаем огонь в нужном месте. Персонаж и фон готовы, можно переходить к программированию.

Прописываем в Скретч движение персонажа


Для начала ставим блок «когда флажок нажат» и устанавливаем размер «50». После этого переводим персонажа в желательные координаты. Для нашего квадрата это (-29; -86).

Теперь создадим новую переменную под названием «можно прыгать». Позже мы пропишем условие, при котором квадрат сможет прыгать только с земли, не делая двойных прыжков в воздухе. Ставим блок «задать переменную «можно прыгать» на 1».

Создаем еще одну переменную под названием «скорость вниз». Она отвечает за состояние свободного падения и указывает, с какой скоростью наш квадратик, находясь в воздухе, будет притягиваться к земле.
Задаем переменную «скорость вниз» и приравниваем ее к нулю. Затем ставим блок цикла «повторять всегда». Внутрь закидываем блок «изменить скорость вниз на -1». А после меняем у (игрек) на переменную «скорость вниз» и устанавливаем цикл «повторять пока не» с двойным отрицанием. То есть, получаем «повторять пока не не касается земли». Теперь зададим переменной «скорость вниз» значение ноль и сразу же поменяем его на 1. Такое же значение установим и для переменной «можно прыгать».

Затем напишем два условия для движения квадрата вправо и влево. Первое будет звучать так: «если клавиша «вправо» нажата, то х (икс) изменяется на 10». Второе условие: «при нажатии клавиши «влево» у (игрек) изменяется на -10».

Следующий шаг — при помощи оператора «и» создать условие, в котором будут сочетаться два условия одновременно. Выглядеть оно будет так: «если клавиша «пробел» нажата и можно прыгать = 1». То есть, при соблюдении этого условия квадрат не касается травы. Задаем значение переменной «можно прыгать» на 0, чтобы окончательно подготовить персонажа к прыжку. Получается, что при нажатии пробела, когда квадрат на земле, прыгать можно. 

Прыжок персонажа при создании игры на Scratch 3.0


Теперь надо прописать сам прыжок. Для этого создаем свой собственный блок и называем его «прыжок». Добавляем значение под названием «скорость». После этого вставляем в код прыжок и устанавливаем его значение на 10.

Но этого недостаточно, поскольку нужно указать, что число 10 подразумевает под собой именно скорость. Для этого вставим в код условие «если, то». Целиком оно будет выглядеть так: «если «скорость вниз» меньше трех, то изменить «скорость вниз» на нашу скорость». Далее изменяем у (игрек) на скорость. Теперь кубик под действием гравитации, будет прыгать, замедляться в верхней точке и лететь вниз с ускорением. 

Scratch игра-платформер: встреча персонажа с препятствием


Осталось дописать последнюю часть игры, в которой мы укажем, что случится, если персонаж наткнется на препятствие. Для этого прописываем новое условие: если наш квадрат касается спрайта 2, то передаем сообщение 1.

Нужно написать и отдельный небольшой скрипт для огня. Снова устанавливаем «когда флажок нажат», переходим к координатам размещения огня, у нас это (110; -111), после чего добавляем «показаться».

Давайте проверим нашу игру на scratch 3.0. Делаем мы это не зря, так можно заметить, что верхняя платформа слева находится слишком далеко, и квадрат не может до нее допрыгнуть. Переместим ее ниже, снова проверим, теперь все отлично. 

Осталось создать табличку, которая будет оповещать нас о том, что герой попал в огонь, и игра окончена. Для этого пишем на новом спрайте «конец» и размещаем его в желаемом месте. Добавляем скрипт: «когда флажок нажат», перейти в координаты (36; 28). Добавляем «спрятаться», чтобы мы не видели надпись раньше времени. Дальше указываем, что когда мы получим сообщение 1, прописанное в скрипте для квадрата, табличка должна «показаться». После чего сработает команда «стоп все».

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

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

Чтобы не пропустить следующие видеоуроки, подписывайтесь на наш YouTube-канал. А если вашему ребенку хочется знать больше, посетите пробное занятие в школе «Пиксель» и запишитесь на курс по Scratch для школьников.

Бесплатные видеоуроки Scratch для детей