Сделайте свою собственную игру Mario! Основы нуля для детей и взрослых

Знаете ли вы, что любой может создать видеоигру без программирования создавать видеоигры без программирования создавать видеоигры без программирования ? Хотя есть несколько дружественных для новичков языков. , вам не нужно тратить полгода на изучение Java или C ++, чтобы создать игру. Вы можете выбрать один из множества инструментов для различных типов игр, но один отличный вариант для детей (и взрослых) — это бесплатная Scratch от MIT.

Scratch — это инструмент, который позволяет перетаскивать ресурсы для создания игр или анимации. Это легко понять, но учит строительным блокам программирования. в процессе. Давайте посмотрим, что вы можете создать в Scratch, а затем пройдитесь по шагам создания простой игры Mario.
Встречайте Scratch
Чтобы начать с нуля, перейдите на домашнюю страницу . Вы должны создать учетную запись прямо сейчас, чтобы вы могли сохранить свои творения. Нажмите кнопку « Присоединиться к нулю» в правом верхнем углу окна. Создайте имя пользователя и пароль, введите свою дату рождения и пол, после чего система запросит адрес электронной почты родителя. Введите свой собственный, если у вас есть, затем подтвердите свой адрес, чтобы вы могли комментировать другие проекты и поделиться своим.

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

- Этап — показывает краткое изложение вашей игры. Все активные спрайты и выбранный вами фон появятся здесь. Вы можете перемещать спрайтов, если хотите. Дайте вашему проекту имя в поле выше этого.
- Фон — Здесь вы можете выбрать фон для своей игры. Выберите из библиотеки Scratch, нарисуйте свою или импортируйте файл. Вы также можете получить изображение с камеры вашего ПК, хотя большинству людей эта опция, вероятно, не понадобится.
- Спрайты — центр всех спрайтов в вашем проекте. Как и фоны, вы можете добавлять стандартные, создавать свои или загружать изображения. Нажмите на маленький синий значок i на спрайте, чтобы переименовать его, изменить его угол или скрыть.
- Рабочая зона — где проходит основная часть вашей работы на пустом месте. Используйте вкладки выше (помеченные « Сценарии , костюмы и звуки»), чтобы изменить то, над чем вы работаете.
- Скрипты предназначены для добавления блоков кода, которые мы скоро рассмотрим.
- Костюмы позволяют создавать дополнительные позы для ваших спрайтов. Эта вкладка изменится на Фоновые рисунки, если они выбраны в области 2 , и обратно на Костюмы при выборе спрайта в области 6 . Базовый редактор изображений позволяет вносить изменения в графику в вашей игре. Вы также можете переименовать активы здесь.
- Звуки , что неудивительно, является центром для добавления и редактирования звуков.
Использование блоков
Теперь, когда вы познакомились с редактором Scratch, давайте поговорим об одном из самых важных элементов инструмента — блоках кода. Вместо того, чтобы печатать реальный код, эти блоки позволяют вам определять поведение ваших элементов. Они похожи друг на друга, как LEGO. , чтобы было легче увидеть, как они влияют друг на друга.

Щелкните спрайт в списке слева и выберите вкладку « Сценарии », чтобы начать перетаскивание блоков для этого элемента. Обратите внимание, что блоки имеют цветовую кодировку и имеют края, похожие на головоломки, чтобы показать, как они сочетаются друг с другом. Десять категорий и что они делают:
- Движение — заставляет данный спрайт двигаться, шаг за шагом, к другому объекту или через прямые координаты.
- Взгляды — позволяет спрайту скрывать или показывать себя, переключать костюмы, изменять размер или перемещаться между слоями.
- Звук — воспроизведение звуков, изменение громкости или регулировка темпа.
- Ручка — Нарисуйте маркером и измените его цвет и форму.
- Данные — позволяет создавать свои собственные переменные. Это очень удобно для элементов, которые в Scratch не встроены.
- События — критерии для запуска других действий, например, когда вы нажимаете зеленый флаг или нажимаете пробел. Вам нужны эти блоки, чтобы все остальные ваши блоки действительно что-то делали!
- Control — циклы для повторения действия, выполнения оператора if-else или остановки чего-либо.
- Восприятие — Поместите эти блоки в другие для выполнения действий, когда спрайт касается другого элемента или пользователь удерживает нажатой клавишу.
- Операторы — математические элементы, которые позволяют выполнять арифметические или базовые логические операции над переменными.
- Больше блоков — Сделайте свои собственные блоки, если этого недостаточно!
Простой пример
Давайте рассмотрим простой пример, чтобы проиллюстрировать, как эти блоки совмещаются, шаг за шагом. Мы заставим кота Царапины ударить футбольным мячом по воротам и издавать звук, когда он входит.
Во-первых, вам нужен крутой футбольный фон. Перейдите в раздел « Фон » в нижнем левом углу и щелкните значок изображения, чтобы выбрать один из фонов «Царапины». Есть один, который называется Goal1, который будет работать отлично. Затем щелкните значок спрайта, чтобы добавить новый готовый спрайт. Вы должны увидеть Ball-Soccer в списке — дважды щелкните по нему, чтобы добавить его к своим спрайтам.

Теперь, когда графика готова, вам нужно начать с нескольких блоков. Выберите кошку, потому что он тот, кто выполняет действие. Помните, что вкладка « События » содержит множество стартовых блоков? Посмотрите, и вы увидите тот, который срабатывает при нажатии на зеленый флаг. Это идеальная отправная точка — перетащите ее в рабочую область сценариев .
Как только вы начинаете, вы хотите, чтобы кошка переехала и пнула мяч, верно? Это звучит как что-то, что попадет под вкладку Motion . У вас есть несколько вариантов, чтобы заставить кошку двигаться, например, блок шагов Move X. Но мы не можем гарантировать, сколько шагов потребуется кошке, чтобы достичь мяча. Для этого есть лучший блок — попробуйте Glide X секунд, чтобы заблокировать. Одна секунда — хорошее время, и вам нужно нажать на синий значок i футбольного мяча, чтобы увидеть его координаты. Введите их в блок, и ваше первое действие завершено!
Пинать мяч
Как только кошка коснется футбольного мяча, она должна влететь в цель. Итак, выберите футбольный мяч, чтобы вы могли добавить к нему некоторые действия. Помните, что каждое действие должно начинаться с события — зеленый флаг подходит для этого экземпляра. Теперь вы не хотите, чтобы футбольный мяч двигался, пока кошка не коснется его. Взгляните на категорию Control для блока, который позволяет нам ограничивать его поведение. Ожидание, пока блок звучит о праве!
Обратите внимание на то, как блок « Дождаться» имеет удлиненную шестиугольную форму внутри. Многие блоки Sensing соответствуют этой форме, поэтому посмотрите на них, чтобы найти правильный. Видите трогательный блок в верхней части списка? Вы можете перетащить это прямо в отверстие внутри Подождите, пока . Измените раскрывающийся список на Cat или как вы назвали спрайта cat.

Теперь вам просто нужно, чтобы футбольный мяч влетел в цель. Glide X секунд, чтобы заблокировать в категории движения, которую мы использовали ранее для кошки, будет работать нормально. Зафиксируйте этот блок под ожиданием до и поместите указатель мыши на сетку ворот. Вы увидите координаты X и Y под сценой — вставьте их в блок Glide . Мяч должен двигаться довольно быстро при ударе, поэтому давайте попробуем 0,5 секунды на время.
И толпа сходит с ума
Последний шаг — добавление звука! Выберите вкладку Звуки над рабочей областью, чтобы добавить новую. Щелкните значок динамика под « Новый звук», чтобы получить его из библиотеки Scratch. Есть категория под названием « Приветствие» в категории « Человек », которая идеально подходит. Дважды щелкните по нему, чтобы добавить, а затем вернитесь в рабочее пространство для футбольного мяча.
Вы найдете блок с надписью Play sound в категории Sound . Сделайте это под блоком скольжения , и все готово! Нажмите на зеленый флаг, чтобы воспроизвести анимацию. Кошка подбегает к мячу, и когда он касается его, мяч летит в цель, и толпа приветствует.
Это было не слишком сложно! Теперь, когда мы выяснили, как блоки соотносятся и сочетаются друг с другом, давайте посмотрим, как вы можете создать игру Mario, используя Scratch.
Создание базовой игры Mario
Приведенный выше пример простого футбола показывает, как вы можете использовать блоки для управления спрайтами, но в нем нет геймплея, анимации или музыки. Давайте углубимся в это и создадим простую игру Mario. Мы могли бы потратить тысячи слов на каждый аспект создания игры, поэтому мы будем придерживаться основ.
Обратите внимание: поскольку я не художник, для целей данного урока я копирую спрайты Mario из Интернета. Графика Mario принадлежит Nintendo, и вы не должны публиковать игры с использованием защищенных авторским правом спрайтов. Это представлено только в качестве примера.
Импортировать графику
Первый шаг — импортирование ваших спрайтов и фонов в Scratch. Так как мы используем изображения из Интернета, я буду загружать их, а затем загружать их в Scratch. Создавать логику, чтобы Марио мог прыгать на врагов, чтобы победить их, но умирал от прикосновения к их сторонам, слишком сложно для этого урока, поэтому мы попросим его собирать монеты.
В конце урока я предоставлю ZIP-файл с окончательными данными, которые я использовал. Если вы используете их, вам не придется беспокоиться об инструкциях по работе с изображениями в руководстве. Если вы хотите скачать все самостоятельно, продолжайте. Вот спрайты, которые я скачал:
- Марио бегает (нам достаточно двух кадров)
- Прыжки марио
- Анимированная монета
- Наземные блоки
- Облака
У Scratch есть фон Blue Sky 3 , который отлично подойдет для наших нужд.
Редактировать Спрайт Костюмы
Поскольку есть две спрайты, которые составляют анимацию бега Марио, вам нужно добавить их в виде отдельных костюмов. Используйте графический редактор, такой как Paint.NET максимально использовать чтобы сохранить две рамки Mario как отдельные файлы — вы можете проигнорировать третью. Загрузите первый спрайт Mario, затем выберите его и используйте вкладку Костюмы, чтобы загрузить другой спрайт в качестве его второго костюма. Дайте им различимые имена, такие как Mario-1 и Mario-2 . Добавьте прыгающего спрайта в качестве другого костюма для Марио.

Используйте редактор изображений, чтобы извлечь облако из изображения, представленного выше, а затем загрузить его как новый спрайт. Это не анимация, поэтому вам не нужно добавлять отдельный костюм.
Для земли вам понадобится много блоков, так как Марио бежит вдоль них. Используйте Paint.NET, чтобы захватить шесть блоков в середине изображения наземных блоков , а затем сохраните их как отдельный файл. Вам понадобится около 12 блоков, чтобы покрыть всю нижнюю часть экрана, как только вы уменьшите их до хорошего размера. Таким образом, вы должны поместить две копии этих шести блоков бок о бок для вашего наземного спрайта. Загрузите это, а затем сделайте два дубликата наземных спрайтов в Scratch.
Монета — это анимированный GIF, поэтому она немного другая. Всякий раз, когда вы загружаете его, Scratch создает костюмы для каждого кадра анимации. Это изображение имеет всего 11 кадров, но, к сожалению, также имеет белую рамку вокруг него, которая смотрится на синем фоне. Вы должны будете открыть каждый костюм для монеты в редакторе Царапин. Используйте инструмент пипетки, чтобы выбрать синий цвет фона, затем используйте инструмент заливки, чтобы изменить белые края монеты на бледно-голубой.

Вам нужно будет изменить размер спрайтов с помощью кнопок « Увеличить» и « Сжать» в верхней части экрана, прямо над зеленой кнопкой флага. Нажмите любую кнопку, затем щелкните спрайт, который вы хотите изменить, на сцене слева. Это также изменит размеры всех костюмов. Приблизительный их пока; Вы можете настроить позже.
Импортировать звуки
Так же, как спрайты, мы возьмем пару звуков, чтобы усовершенствовать нашу игру. Загрузите их, затем загрузите, используя вкладку « Звуки ». Пока вы на нем, посмотрите, как добавить их в качестве крутых рингтонов для вашего телефона рингтоны для
- Super Mario Bros. Theme
- Марио прыгать звук
- Монета собирать звук
Оживить монеты
Теперь, когда все активы готовы, пришло время их оживить. Мы начнем с монет, так как это легко. Выберите спрайт монеты и вкладку Сценарии . Поскольку наши монеты являются анимированными GIF-файлами , мы можем использовать ряд блоков, чтобы постоянно прокручивать их костюмы, чтобы они, казалось, двигались.
Анимационный скрипт выглядит примерно так:

Короче говоря, этот скрипт устанавливает монету в ее состояние по умолчанию, когда вы нажимаете зеленый флаг. Затем он бесконечно циклически перебирает кадры со скоростью, заданной в качестве переменной FPS на вкладке « Данные ». Поиграйте с этим числом, если вам не нравится скорость.
Снимите флажок рядом с Coin-FPS на вкладке « Данные » (это настраиваемая переменная, которую вы создаете), чтобы она не отображалась на экране.
Заставить Марио двигаться
Теперь о трудной части. Многие шаги связаны с тем, чтобы заставить Марио двигаться, и это на самом деле трюк, который прокручивает наземные блоки, чтобы создать видимость движения. Вместо того, чтобы пытаться объяснить каждый цикл блока, я предоставлю скриншоты блоков кода и объясню их основные моменты.
Во-первых, вам нужно сделать четыре переменные на вкладке Data . Все четыре из них для всех спрайтов, кроме Velocity , который предназначен только для Mario:

- Гравитация — это постоянная величина, которая притягивает Марио к земле, когда он прыгает.
- OnGround отслеживает, касается ли Марио земли или нет.
- ScrollX измеряет горизонтальное движение экрана.
- Скорость (только Mario) контролирует скорость, с которой Mario прыгает.
Анимация Земли
Вы уже сделали две копии своего наземного спрайта, щелкнув по нему правой кнопкой мыши и выбрав « Дублировать» . Перетащите Ground-1 в крайний левый угол экрана, чтобы его левый блок коснулся крайнего левого края экрана. Затем перетащите другой наземный спрайт справа от первого. Выровняйте края вверх, и это будет выглядеть так, будто земля — это одна сплошная часть.
Вот кодовый блок, который вам понадобится для каждого наземного спрайта:

Это помещает землю в нижней части экрана, а затем просто прокручивает блоки по мере движения Марио. ScrollX — позиция блоков; 0 — это позиция по умолчанию, которая запускается при нажатии на зеленый флаг. Вы заметите, что не можете двигаться влево сразу после начала.
Для второго (и последующих) наземных блоков увеличьте цифру 0 в ScrollX + 480 * 0 на единицу для каждого нового участка земли. Это сместит его, чтобы он плавно прокручивался.
Логика марио
Это все, что нужно для блоков, но у Марио гораздо больше блоков кода. Вот что делает каждый из них с кратким изложением:

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

Здесь мы видим код, который обрабатывает изменения костюма Марио. Когда Марио нет на земле, у него есть прыгающий костюм. Всякий раз, когда вы двигаетесь влево или вправо, Марио переключается между кадрами каждую десятую секунды. Отпустите клавиши со стрелками, и Марио по умолчанию его стандартная рамка.

Простой фрагмент кода, который вычисляет переменную OnGround . Если он касается одного из наземных блоков, OnGround равняется 1 (true). Когда он прыгает, OnGround равен 0 (false).

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

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

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

Это помещает монету в значение Y (это вертикальное положение экрана), где Марио может легко схватить ее. Затем он использует аналогичную логику с наземными блоками, чтобы прокрутить в сторону Марио. Обратите внимание, что мы увеличили скорость прокрутки до 0,75, чтобы монеты быстро двигались в сторону Марио. Для второй и третьей монет мы увеличиваем значение y в поле до -40 и -20, поэтому они немного выше и Марио труднее их захватить. В поле « Установить блок x» увеличьте значения 150 * 1 до 150 * 3 и 150 * 5 для второй и третьей монет, чтобы разместить их дальше за пределами экрана.
Облака используют практически идентичный блок кода:

Опять же, это помещает облако на определенную высоту, а затем прокручивает его по мере движения Марио. Для второго облака, которое находится перед Марио, а не позади него, измените набор x для блокировки на (ScrollX * 0.1) + (150 * 1) , как монеты.
Добавить границы
Благодаря тому, как мы реализовали землю и монеты, вы увидите монеты, застрявшие по краю экрана, пока они не прокрутятся в поле зрения. Это неприглядно, поэтому вы должны создать быстрый спрайт границы того же цвета, что и фон, чтобы скрыть это как с левой, так и с правой стороны.

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

Сохраните это как файл PNG и загрузите его как новый спрайт с именем Border . Поскольку вы нарисовали границы прямо над экраном, вы можете выровнять его идеально.
Тогда вам просто нужно несколько блоков, чтобы граница всегда была впереди:

Расширяя свою игру
Попробуйте окончательный продукт ниже!
Мы создали только основы игры Mario вместе. Вы можете добавить множество элементов в вашу игру отсюда. Попытайтесь добавить Супер Грибы, чтобы усилить Марио, сделать несколько ям, которые Марио должен очистить, или создать флаг конечного уровня. С помощью строительных блоков, которые вы здесь подобрали, вы можете добавить больше спрайтов, переменных и логики, чтобы создать все, что вы захотите. Мы с нетерпением ждем встречи с тем, что вы придумали!
Мы хотели бы поблагодарить пользователя Scratch dryd3418, так как мы использовали часть кода из его проекта Super Mario: Scroll & Jump Tutorial в нашем собственном проекте для этой статьи. Для получения более подробной справки, включая сценарии, которые вы можете скопировать, обратитесь к руководству другого пользователя по созданию игры Mario . Если вы хотите пойти по более простому маршруту, посмотрите проект « Создайте свою собственную игру Mario», который позволяет перетаскивать спрайты в простую игру.
Обратите внимание, что в любом Scratch-проекте вы можете нажать « Просмотреть внутри», чтобы открыть проект в редакторе, как вы использовали для своего собственного проекта. Это позволяет вам взглянуть на блоки, которые кто-то использовал, чтобы заставить свой проект работать, и может помочь вам, когда вы застряли. Я сделал свой проект доступным для всех, поэтому не стесняйтесь просматривать его и смотреть код, если вам нужна помощь. Я также сжал все ресурсы, которые использовал в этой игре, так что вы можете скачать их, чтобы сэкономить время.

Заинтересованы в этом шаг? Проверьте Scratch For Arduino для создания проектов на этой платформе. Если вы готовы окунуться, проверьте все , что вам нужно, чтобы сделать игру для iPhone с нуля.
Как сделать игру «Марио» в «Скретч»
Выпущенная в 1985 году игра Super Mario Bros является, вероятно, самой популярной игрой всех времен и точно главным проектом Nintendo.
Марио — игра-платформер, в этом жанре герой должен прыгать по платформам в 2D-мире и собирать очки. Пройдя с нами до последней буквы этой статьи-руководства, вы создадите своего Марио в визуальной событийно-ориентированной среде «Скретч». Интересно? Тогда давайте приступим!
Как делают игру? Сначала пишут ее «движок». Это что-то вроде скелета, на который потом можно наращивать остальной организм: графика, общие правила взаимодействия «спрайтов», то есть графических объектов. Эти аспекты не изменятся по мере создания остальных компонентов игры, уровней, новых частей. Поэтому их делают в первую очередь.
«Скретч» иногда называют языком программирования, а иногда — средой разработки. Попросту говоря, это учебный язык, где роль операторов и сложных команд настоящих языков выполняют визуальные блоки. Фактически, это конструктор.
Установлена и настроена среда программирования Scratch может быть по-разному. Самый простой вариант — воспользоваться онлайн-версией.
Мы будем указывать названия элементов интерфейса Scratch на русском и на английском, так как вы можете столкнуться с разными языками интерфейса.
Писать код «Марио» на «Скретч» начнем с создания фона и графических объектов (игровых ассетов — на языке геймдева): персонажа, препятствий, наград и тому подобного.
в правом нижнем углу нажмите на плашку «Сцена» (Stage) -> «Выбрать фон» (Backdrops)-> «Загрузить фон» (Upload backdrops);
загрузите таким же образом файл «sky» .
Если плашка «Сцена» у вас в активном состоянии, то есть вы кликнули по ней левой кнопкой мыши, то слева вам доступны загруженные в проект фоны, в том числе и Assets. Кликните по маленькой иконке Assets, чтобы посмотреть, с чем мы работаем. Закройте демонстрационный материал в центре окна Scratch, чтобы увидеть Assets не только в правом большом окне, но и в центральной, рабочей области. Видите?
Запишите вашего ребенка на курс программирования Scratch онлайн в школе Pixel. Это интересно и развивает интеллект.
Здесь собрано все, что нам понадобится: элементы, по которым Марио будет прыгать, труба перемещения и даже монетки и облака. Этот фон сам по себе мы не будем нигде использовать. Просто удобно, если все собрано в одном месте. Новые игры или дополнения к нашей игре обычно включают немало тех же самых объектов, которые мы уже использовали на этапе разработки первых уровней. Имея единый файл с игровыми ассетами, вы сможете просто копировать компоненты, которые в игре уже встречались.
Теперь взгляните левее плашки «Сцена». Там будет другое поле — «Спрайт» (Sprite). На нем по умолчанию доступен спрайт котик. Нажмите на него. Слева вы увидите маленькие иконки «Костюмов» (Costumes). «Костюмы» — это различные положения, которые может принимать наш спрайт в движении. Если «Спрайт» добавлен на «Сцену», то он будет отображаться поверх всех изображений всех фонов (backdrops) «Сцены».
Чтобы лучше это понять, давайте добавим нашему спрайту-котику (он-то и будет нашим Марио) шляпу знаменитого итальянского водопроводчика. Для этого достаточно выбрать самый верхний инструмент слева от центральной области. Кликните по кепке Марио и нажмите «Копировать» (Copy) в горизонтальном меню сверху. Теперь вы можете вставить нужное изображение на любом спрайте, если он относится к нужной «Сцене».
А сейчас поработаем с фоном. Переключитесь на фон sky. Сейчас у нас только заливка голубым цветом. В фоне «Assets» скопируйте белое облако и вставьте его несколько раз в верхней части фона sky. Получилось?
Все получается? Смелее! Если мы создадим Марио, то сумеем сделать любую игру-платформер на «Скретч». На плашке спрайтов, где у нас находится персонаж, создайте новый спрайт. Назовите его «Фон» или Background. Этот спрайт будет важной частью игры. Каждый его костюм будет представлять собой новый уровень игры. Вы можете создать сколько угодно спрайтов, но мы в нашей игре пока сделаем только пять. Просто копируйте объекты из нашего рабочего файла Assets в очередной уровень – так и создаются новые локации в игре «Марио».
Можно назвать уровни Screen-1, Screen-2 как здесь или Уровень 1, Уровень 2 и так далее. Теперь подготовим первый код для нашей игры. Его еще нельзя будет запустить, но в комплексе с другими командами он заработает. Кликните по спрайту «Фон» и переключитесь на вкладку «Код» (Code). Вы увидите справа разноцветные элементы, которые можно выделять мышью и переносить в центр, закрепляя один за другим. Эти «кирпичики» на языке Scratch называются блоками и служат для создания сценариев, которые оперируют с добавленными нами изображениями, музыкой и другими составляющими программы. Добавьте блоки Scratch таким же образом, как показано на скриншоте:
В русскоязычном интерфейсе все будет так же, например, блоку broadcast будет соответствовать блок «передать». В некоторых блоках нужно установить аргументы, то есть дополнительные параметры того, как они должны будут себя вести. Если вы называли уровни игры на русском языке, то в аргументе блока switch costume (изменить костюм на) поставьте «Уровень 1».
Вы могли заметить, что мы оставили немного места между блоками, когда создавали «Уровень 1» (Screen-1). Некоторые из этих промежутков мы дополним блоком со знаком вопроса. Помните, Марио надо было прыгать, и он головой выбивал какой-нибудь случайный бонус?
Так как ведет себя блок «?» иначе, чем другие, то ему нужен собственный спрайт. В игре нужно симулировать состояние блока со знаком вопроса до и после того, как Марио его «посмотрел», поэтому в спрайте у нас будет два костюма: желтенький блок со знаком вопроса и без знака вопроса.
Напишем код для блока. Кликните на нужный спрайт и только после этого переключитесь на вкладку «Код» (Code). Воспроизведите приведенную ниже структуру у себя. За появление блоков на разных уровнях отвечают условия «if» из самой длинной последовательности команд. Когда выполняется первое условие, активируются координаты X и Y, отвечающие за появление спрайта со знаком вопроса в первом уровне.
Во втором условии обрабатывается уже второй уровень игры и так далее. Этот код вы уже можете тестировать, чтобы убедиться, что идете в правильном направлении. Меняйте координаты X и Y, затем запускайте код зеленым флажком над правым экраном.
Вы сможете увидеть, как блок со знаком вопроса внутри перемещается по карте мира. Создавая уровни, мы не зря оставляли промежутки между объектами, которые находятся над поверхностью. Спрайт со знаком вопроса можно поместить именно туда. Так часто делали в свое время разработчики оригинального «Марио».
Язык Scratch ваш ребенок может изучить курсах программирования Scratch в школе Pixel, добро пожаловать!
Хорошая новость: мы уже получили мощный практикум по программированию в среде Scratch. Плохая новость: многого для полноценного Марио у нас еще нет. Например, как наш герой будет понимать, что перед ним: стена или другое препятствие? Самый простой способ решить эту проблему — создать несколько спрайтов в виде прямой черты, которые мы разместим с таким расчетом, чтобы они отделяли фигурку персонажа от окружающего мира: спереди, сзади, снизу и сверху.
Для каждой из таких черт создадим отдельный спрайт, чтобы можно было прописать свою логику для любой стороны. Если объект мира пересекся с чертой, значит, он еще не достиг персонажа, но вот-вот это сделает. Это мы и используем при дальнейшей разработке нашей игры.
Например, если мы касаемся передней линией фонового объекта, то можем установить значение right touch в позицию 1. Так Марио поймет, что нечто находится перед ним. Если установим значение 0, значит перед ним ничего не находится. Посмотрите на скриншоты ниже и воспроизведите логику для каждой стороны персонажа. Будьте внимательны, переключайтесь между спрайтами для формирования команд.
(Спрайты правой, левой, верхней и нижней стороны можно скачать или нарисовать самостоятельно в редакторе).
Чтобы получилась полноценная игра, персонаж должен быть способен двигаться влево-вправо, прыгать в том случае, если он на чем-то стоит или падать, если под ним ничего нет.
Всего этого мы сможем добиться с нашими спрайтами обнаружения препятствий из предыдущего шага. Нам понадобится как-то удостовериться, что спрайт Марио анимирован по мере движения с помощью своих костюмов (помните, у нас в этом спрайте два положения персонажа?). Уровень 1 (Screen-1) — персонаж должен начинать в правильной точке, глядя в правильном направлении. Приступим!
Один из методов запрограммировать движение персонажа в Scratch состоит в том, чтобы переходить на новый уровень каждый раз, когда он достигает правой границы предыдущего. Мы решим проблему постоянной проверкой координаты X нашего Марио. Если оказалось, что он коснулся правой границы экрана, то включается broadcast с текстом «Next Screen». Таков будет принцип нашей программы.
Можно сделать и иначе. Весь «мир» делаем одним большим костюмом спрайта «Фон» (Background) и сдвигаем координату X этого спрайта налево по мере того, как наш герой продвигается вперед. Последний способ — остроумное и изящное решение, но заставит в будущем постоянно редактировать ваш проект с добавлением новых уровней. Причем, написать придется гораздо больше, чем если бы вы просто сделали движение с помощью подхода, который мы описали первым. Думайте о расширяемости своих проектов. Программист — это человек, который выбирает наилучший путь.
Код, состоящий из блоков Scratch, который у нас ниже представлен, все равно будет довольно объемным, хотя и реализует первый подход. Хорошей практикой является комментирование. Новый комментарий можно добавить, щелкнув по тому или иному блоку правой кнопкой мыши и нажав «Add Comment». Переключившись на спрайт нашего котика «Марио» (помните, мы надевали на него шляпу?), добавьте блоки движения персонажа из скриншота ниже.
Сейчас мы займемся созданием счета очков в игре. Точно так же, как мы добавляли блоки со знаком вопроса, распределите в уровнях новый спрайт – монетки. Изображение монет можно взять из нашего фона (backdrop) Assets. Как и раньше, мы будем «пролистывать» уровни и клонировать спрайт для них. После этого добавим блок с постоянной проверкой: касается Марио данного клона монетки или нет. В зависимости от этого прибавляем счет. Можно создать несколько костюмов для спрайта монетки и анимировать ее, чтобы она слегка колебалась в воздухе. Переключитесь на спрайт монетки, кликнув по ней и добавьте внутрь блоки в соответствии со скриншотом ниже.
Mario game with Scratch

Super Mario is a classic video game that was first released in the 1980s. It is a platform game in which the player controls Mario, a plumber who must navigate through various levels to rescue Princess Peach from the evil Bowser. The game has been released on a variety of platforms over the years, including arcade machines, home consoles, and mobile devices.
In Super Mario, the player moves Mario through the levels by running, jumping, and dodging obstacles. There are also power-ups that can be collected to give Mario special abilities, such as the ability to throw fireballs or become invincible. The game is known for its colorful graphics, catchy music, and challenging gameplay.
There are many different versions of Super Mario available, including the original Super Mario Bros. for the Nintendo Entertainment System (NES) and more recent releases such as Super Mario Odyssey for the Nintendo Switch.
Description of Mario game with Scratch:
Scratch is a visual programming language that was developed by the Lifelong Kindergarten group at the Massachusetts Institute of Technology (MIT). It is designed to be easy to use and accessible to people of all ages, and is often used to teach programming concepts to beginners.
It is possible to create a simple version of the Super Mario game using Scratch. Scratch has a number of built-in blocks that can be used to create a sprite (game character) that can move around the screen, detect collisions with other objects, and play sounds. You can use these blocks to create a basic platformer game in which a sprite (such as Mario) moves across the screen, jumps to avoid obstacles, and collects coins or other items.
To create a Super Mario game in Scratch, you will need to create a background image or series of images to represent the levels, and create a sprite that represents Mario. You can then use the Scratch blocks to make Mario move, jump, and interact with other objects in the game. You can also use sound blocks to add music and sound effects to your game.
Creating a Super Mario game in Scratch is a good way to learn programming concepts and have fun at the same time.
In this tutorial, we are going to learn how to create a Mario game in Scratch. Super Mario Bros, released in 1985, is arguably one of the most popular video games of all time.
In this game, the player must cross obstacles by jumping.
Creation of the Mario sprite:
The Mario sprite moves right or left and jumps up to avoid obstacles they encounter.
1) Go to import a sprite to add the Mario sprite.

2) Choose the Mario sprite that should contain these three costumes:

3) Mario sprite program:
– At the beginning, we switch the Mario sprite to the first costume and place it in the initial position:

– If the Mario sprite touches an obstacle, the game stops:

– If the up arrow on the keyboard is pressed, the Mario sprite jumps up while changing his costume to show that he is jumping:

– If the left arrow is pressed, the Mario sprite moves left while changing his costume to show that he is starting to walk:

– If you press the right arrow, the Mario sprite moves to the right while changing his costume to show that he is starting to walk and sends a message to scroll the two background sprites:

Here is the final program for the Mario sprite:

Creating the first background sprite:
The background sprite should scroll when the Mario sprite is running.
1) Go to Upload Sprite .

2) Choisir le sprite arrière plan:

3) Background sprite program:
– At the beginning, we put the sprite in the background and place it in the initial position:

– If the Background sprite receives a message from the Mario sprite, it scrolls left:

Here is the final program for the background sprite:

Creation of the second background sprite:
The background sprite should scroll when the Mario sprite is running.
1) Go to import sprite to add the Back sprite.

2) Choose the background sprite:

3) Background sprite program:
– At the beginning, we put the sprite in the background and place it in the initial position:

– If the Background sprite receives a message from the Mario sprite, it scrolls left:

Here is the final program for the background sprite:

Creation of the obstacle sprite:
The obstacle sprite scrolls throughout the scene in a continuous fashion.
1) Go to import sprite to add the Back sprite.

2) Choose the obstacle sprite containing two costumes:

3) Obstacle sprite program:
– At first, we put the obstacle sprite in the background and place it in the initial position:

– The obstacle sprite is scrolled horizontally in the scene. If he reaches the edge of the stage, he changes the costume and positions himself in the initial position.