В этом уроке мы научимся разрабатывать собственную 3Д-игру в Scratch — визуальной среде программирования для детей и начинающих разработчиков. Здесь создание скрипта происходит путем перетаскивания разноцветных блоков-команд. Яркая визуализация вовлекает детей в обучение и позволяет наглядно увидеть результаты работы — созданную игру или мультфильм.

Несмотря на то, что Scratch — это программа для создания 2Д-игр, мы можем реализовать в ней трехмерную игру, если будем соблюдать определенные правила, о них мы и расскажем в этом материале.

Урок подготовлен школой программирования для детей Pixel. Туториал предназначен для детей от 8-9 лет и старше.

Перед стартом урока

В конце материала мы добавили видеоинструкцию на случай, если вам удобнее так воспринимать информацию.

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

Добавляем спрайты и объясняем, чем 2Д-игра отличается от 3Д-формата

Давайте разберемся в отличиях. Представьте себе книгу с картинками, изображения в ней плоские, как нарисованные на бумаге. Так же и в 2D играх: персонажи и предметы двигаются только вправо-влево, вверх-вниз, но не выходят за пределы экрана.

А теперь вообразите себе игрушечную машину. Вы можете обойти ее со всех сторон, посмотреть на нее сверху и снизу. То же самое происходит в 3D-играх: персонажи и предметы объемные, их можно увидеть с разных сторон. Движение происходит в трех измерениях: влево-вправо, вверх-вниз и вперед-назад.

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

Вы можете создать такие же, пользуясь нашим лайфхаком: для создания объемных объектов кубической формы добавим фон «Xy-grid-30px» из библиотеки фонов. Теперь мы можем рисовать наш спрайт по клеткам, чтобы сохранить необходимый масштаб. Так мы поступим в случае с каждым спрайтом.

Теперь давайте добавим костюмы нашим полигонам. Нам нужно, чтобы у полигона было 4 костюма: пустого полигона, полигона с красной, желтой и зеленой точкой. Теперь мы можем воспользоваться функцией «дублирование» и создать много спрайтов полигонов. У одного из них сделаем только один костюм — синюю заливку. Это будет начальная платформа, где персонажу предстоит спавниться.

Расположение спрайтов на сцене

Поскольку мы сделали много одинаковых полигонов, расположить их будет не так трудно, как может показаться на первый взгляд. Самое главное — уметь работать с координатами. Мы можем соединить два полигона и с помощью простых математических вычислений узнать меру нашего шага. Например: мы видим, что у данного полигона x= 10;y= -23;, а у соседнего — x=40 ;y=-23 . Мы просто вычтем из координат второго координаты первого полигона. С каждым полигоном мы будем прибавлять эту разницу в координатах и таким образом получим необходимую нам игровую платформу. 

Движение главного героя

Мы создали нашего персонажа и полигоны. Давайте перейдем к написанию программ. Установим нашего персонажа на полигон «спаун», для этого напишем небольшую программу: когда зеленый флажок нажат и установить координаты. Координаты мы устанавливаем такие же, как у полигона спауна.

Теперь давайте реализуем движение нашего персонажа. С помощью блоков события «когда клавиша нажата», мы устанавливаем клавиши управления движением: W — на движение вперед, S — на движение назад, D — на движение вправо, A — на движение влево.

Как вы могли заметить, движение вперед и назад создается с помощью сразу двух блоков движения. Мы меняем и x, и y.  Необходимое значение для изменения — это и есть наш шаг между полигоном выше и ниже. Для движения вправо и влево мы изменяем только разницу по x.

Давайте протестируем движение. Как мы видим, у нас получилось добиться 3Д-эффекта.

Создаем механику игры

Давайте перейдем к созданию механики игры. Добавим две переменные: «жизни» и «захвачено». 

Зададим начальное кол-во жизней (5) и начальное кол-во очков (0). 

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

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

Разберем правила нашей игры. Есть три уровня: на 1 уровне слайм собирает только два очка захваченных ячеек (для сбора очка игрок должен наступить на желтый кружок), на 2 уровне игрок должен набрать 5 очков, а на 3 уровне — 8 очков. Переход уровней реализуется с помощью передачи сообщений (захват, захват1 и захват2).

Приступим к написанию программ для наших полигонов. Зададим необходимый порядок смены костюмов. Обратите внимание на порядок костюмов во вкладке «Костюмы». Первый костюм — обязательно с зеленым кружочком, второй — пустой. А третий и четвертый можете менять местами в зависимости от вашего желания.

Обратите внимание на блок «когда я получу сообщение». Его мы будем использовать для перехода на другой уровень. 1 уровень — зеленый флажок, 2 уровень — захват, 3 уровень — захват1, конец — захват2.

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

Давайте протестируем нашу игру. И пройдем два сценария — победу и проигрыш.

На этом наш урок подходит к концу.

Видео: 3D-игра на Scratch

Посмотрите ролик, чтобы увидеть, какой получилась игра.

***

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

Комментарии (0)