Scratch

Начисление очков игроку

Наша версия Flappy Bird уже очень похожа на настоящую, в нее вполне можно играть. Но не хватает табло с заработанными очками. Более того, и числа, которое там можно было бы показать, у нас пока тоже нет. Этим и займемся.

Создадим новую переменную — «Очки«. И, пока мы здесь, уберем галочку напротив «Скорости падения«, чтобы на игровом поле она не выводилась.

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

Переключение внешнего представления переменной на игровом поле

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

Используем блок «Задать… значение…», где из списка существующих переменных выберем «Очки«. Ноль в качестве начального числа нам вполне подходит, его не меняем.

Задаем начальное значение количества очков

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

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

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

Отобразили и погоняли по экрану спрайт с трубами

Создадим еще одну ветку скрипта, снова начав с блока «Когда я начинаю как клон», и за ним следом закинем «Ждать до…». В этот блок добавим условие, при котором будет пора изменять счет игры. Состоит оно в том, что труба должна сдвинуться левее определенной позиции по горизонтали.

Возьмем оператор «… < …» и зададим величины для сравнения. Слева будет «Положение x«, а справа — найденная опытным путем граница. Мы вписали -220.

Остается только увеличить счет. Используем соответствующий блок — «Изменить на ».

Завершение игры

Осталась еще одна проблема с нашим арканоидом – в нем по-прежнему невозможно проиграть. Как и победить, кстати.

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

Если ждать достаточно долго, число будет впечатляющим

Давайте добавим условие – чтобы игра останавливалась, когда потеряны все 3 жизни.

Снова используем блок «Если… то» и укажем в нем требуемое сочетание: переменная «Жизни» должна быть равна .

Условие для остановки игры – ноль жизней

При достижении этого значения мы будем останавливать все скрипты нашей программы. Для этого существует специальный блок – «Стоп…».

У него есть три варианта значения, с их помощью можно:

  • прервать выполнение только текущего скрипта, куда мы вставляем блок;
  • остановить все скрипты в данном спрайте (у нас он один, но их может быть несколько);
  • полностью остановить выполнение всех скриптов.

Вот последний вариант нам и нужен, и он устанавливается по умолчанию.

Теперь запустим процесс и попробуем снова уворачиваться от мяча. Как только жизней не останется, все объекты остановятся – конец игры!

Окончание игры из-за потери всех жизней

Как телефон с бесплатной игрой стоил $1000

Flappy Bird — проект, заточенный под смартфоны. Вьетнамский разработчик Донг Нгуен (Dong Nguyen) создал простой по механике платформер, управляемый не просто касанием экрана, но даже не требующий попадания по каким-либо нарисованным клавишам.

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

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

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

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

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

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

Предназначение и особенности

Скретч является своеобразным наследником языка Logo, а процесс объединения блоков напоминает сборку 3D-пазлов и конструкторов Lego. С помощью структурированного набора команд пользователь волен создавать программные модели различной сложности, заставляя взаимодействовать объекты с заданными свойствами. Результатами работы могут стать, к примеру, анимационные ролики, интерактивные комиксы, аркадные или логические игры, простые вычислительные системы.

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

Step 2: Making a Radar

Now the real fun begins.

ok so, how are we going to transform this 2D game into a 3D game? First, let’s imagine that our player has a big rule, and then he starts to measure his distance in relation to the walls in various angles while annotating all of them on a piece of paper. with those numbers, we can use some math to generate an image based on them. and if the player walks one step he makes this process all again.

that is the role of the radar here. Now I will show you how to code the radar.

for the radar, you just need a little dot and some code, in the images above you have the code(image 1) and I will explain here.

First, you create a custom block (pink circle in the block picker) called calc {!IMPORTANT! -when creating the Calc block you MUST SELECT RUN WITHOUT SCREEN REFRESH option otherwise the Radar WON’T WORK (image 2)} we do this to allow the radar to be super fast when calculating the distances.

then you create two variables (distances and angles) and one list (dists) briefly explaining, the radar will point -50 degrees in relation to the player’s angle and walk one step and add 1 to distance until it reaches one maze wall or the maximum distance (50). after that, it will save that distance to the dist list and start all over again but now at — 49 degrees. it will do this 100 times (+50 degrees) because -50 + 50 = 100 in this case the field of view of the player will be 100 degrees(50 left 50 right).

to finish you just have to activate that radar, to do this you just have to broadcast a message every time the player moves (see image 4). Now if you want to see the radar in action use the second code above (image 3) to see it (remember to revert to the first code after that).

Появление и исчезновение спрайта — удар персонажа в игре

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

Описание блоков:

Когда Зеленый флаг нажат — спрятать спрайт

Когда клавиша а нажата — спрятать спрайт (Обратите внимание на блоки синего цвета. Попробуйте вначале написать код без них и посмотрите,что изменится после их добавления!)

Когда клавиша d нажата — все так же прячем объект (Вопрос: Как ты думаешь почему для клавиш A и D описаны дополнительные синие блоки, а для прыжка вверх и запуска игры нет?)

Когда клавиша w нажата — прячем героя во время прыжка. Зачем написан алгоритм синего цвета:

Зачем написан алгоритм синего цвета:

Этот небольшой код позволяет разворачивать персонаж (а мы помним, что бьющий ниндзя — это другой спрайт) в ту сторону откуда идет противник. Без этого блока алгоритмов враг заходил бы слева от персонажа, а меч махал бы справа.

Introduction: How to Create a 3D Game on Scratch

So, how is it possible to create a 3D game on a 2D gaming platform? in fact, this is still a 2d game, but with the use of a technique called Ray-Casting. So, what is ray-casting, and where did it come from? in the past, when our home computers were unable to process those large amounts of information as they do today, a 3D game was ahead of its time, but in 1992 Wolfenstein 3D was launched by ID software introducing this technique, and in 1993 ID software launched another game called DOOM, which is what most people recognize. The role of ray-casting here is to make a 2D map look like a 3D map. During this step by step, you will understand how it works and creates your own game using ray-casting

Программирование полета персонажа

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

Управление в оригинале происходило с помощью нажатия пальцем на экран. От каждого касания птичка подпрыгивала, и это позволяло ей на время подниматься выше.

Прыжок по сигналу

У нас действие происходит не на мобильном устройстве, поэтому привяжем это на клавишу на клавиатуре. Например, стрелку вверх или пробел.

Добавим в скрипт блок «Если…, то…» и вставим в него условие — «Клавиша нажата?».

Отслеживание нажатия клавиши «Пробел»

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

Проверяем скрипт в действии. Птица должна послушно подскакивать от нажатия выбранной кнопки.

Анимация прыжка

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

Добавим в скрипт блок «Повернуться в направлении…». И чтобы определить, какое направление указать, покрутим наш спрайт и примеримся.

На панели настройки спрайта есть соответствующий параметр. Попробуйте изменить его и пронаблюдайте за персонажем на сцене.

Управление углом поворота спрайта

Заприметим два числа — минимальное и максимальное. В одном из них птица будет смотреть вверх, в другом — вниз. Положения между ними — это моменты, когда птица падает и постепенно опускает взгляд.

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

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

Задаем угол поворота птицы в прыжке

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

Анимация снижения

Добавим где-нибудь в пустом месте области кода еще один начальный блок «Когда зеленый флажок нажат».

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

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

В «Операторах» возьмем блок «… > …». Туда вставим специальную переменную «Направление« (она находится в группе «Движение») и число, которое мы запомнили ранее.

В нашем случае вышло: «Повторять, пока не станет больше ».

В этом промежутке мы будем производить небольшой поворот по часовой стрелке. Для этого есть специальный блок — «Повернуть ↻ на… градусов». Попробуем на 3.

Блок поворота спрайта по часовой стрелке

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

Анимация на данном этапе должна уже работать полностью:

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

Если что-то пошло не так, проверьте все блоки и условия, в том числе «больше/меньше» на последнем этапе. Сравните с рекомендациями из инструкции. Если указали < вместо >, замените на такой же блок с противоположным знаком.

Пишем простую игру

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

Рисуем спрайты

Вначале нужно сделать мины:

  1. Нажмите «нарисовать новый спрайт».
  2. В открывшемся редакторе выберите серый цвет.
  3. Нажмите на эллипс.
  4. Выберите закрашенную фигуру.
  5. Выберите инструмент «линия».
  6. Увеличьте ее толщину.
  7. Нарисуйте взрыватели.
  8. Переименуйте костюм в «просто бомба».

У мины должно быть два костюма: обычный и взрыв.

Обычный у нас уже есть, осталось нарисовать «взрыв»:

  1. Нажмите на «нарисовать новый костюм».
  2. Выберите инструмент «кисть».
  3. Нарисуйте взрыв используя красный, желтый и серый цвета.
  4. Переименуйте новый спрайт в «взрыв».

Два костюма для мины готовы. Осталось создать спрайт «финиш»:

  1. Нажимаем «нарисовать новый спрайт» и выбираем инструмент «прямоугольник».
  2. Кликаем по любому цвету.
  3. Нажимаем на «закрашенный прямоугольник».
  4. Изображаем прямоугольник в редакторе.
  5. Теперь конвертируем полученную картинку в векторную графику.
  6. Выбираем «текст».
  7. Измените цвет на красный и напишите в прямоугольнике английскими буквами слово «finish».

Пишем скрипты

Составьте для кота вот такие скрипты:

Для управления котом используются стрелки. При соприкосновении с миной, которая записана как спрайт 3 в скрипте, кот исчезает.

Для мины пишем вот такую программку:

В начале игры мина примеряет костюм «просто мина», а после соприкосновением с котом (спрайтом 2) она переодевается в «взрыв» ждет 1 секунду и исчезает.

Теперь пишем скрипт для финиша:

Чтобы посмотреть, как работает новый блок таймер, пройдите котом с помощью стрелок к финишу и коснитесь таймера, на котором же появятся бегущие секунды. Еще один нюанс – по правилам этой игры нужно коснуться финиша и тут же отойти назад, только после этого секундомер остановиться. Цифры, которые появятся в этот момент – это и будет ваш результат.

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

С одной миной играть не интересно, давайте добавим еще парочку. Это можно сделать с помощью функции «дублирование». Для этого кликните по мине правой кнопкой мыши и выберите дублировать.

Повторите операцию еще раз. Теперь у нас есть спрайт 4 и спрайт 5.

Разместите все мины на сцене таким образом, чтобы коту было тяжело пройти к финишу.

У нас стало больше бомб и теперь нужно дописать скрипты, так как кот реагирует только при соприкосновении со спрайтом 3. Легче всего это сделать продублировав часть скрипта:

  1. Нажмите на кота.
  2. Кликните по вкладке «скрипты».
  3. Правой кнопкой мыши нажмите на блок «если» и выберите «дублировать».

Дублировалась вот эта часть:

Приклейте ее под блоком «Если». Должно получиться вот так:

Замените во втором блоке «если» «спрайт 3» на «спрайт 4».

Повторите операцию еще раз, но теперь в последнем блоке «если» укажите «спрайт 5».

Все, игра готова. Щелкните по зеленому флажку и доведите кота до финиша.

Atari Breakout от Google

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

Например, если ввести в строку поиска фразу «do a barrel roll», содержимое страницы начнет прокручиваться

(Внимание, может закружиться голова!) Или если угадать с поисковым запросом, то можно услышать мелодию или увидеть анимацию, приуроченную к какому-то событию или памятной дате. Не обошли они вниманием и арканоид

Ограниченное время сыграть в упрощенную версию Breakout можно было прямо в поиске по изображениям в Google. Для этого достаточно было запросить там «Atari Breakout».

Поиск по картинкам от Google в виде игры Breakout

Рисование

В среде Scratch 2 рисуют не только в графическом редакторе, но еще пером, мышью и клавиатурой, составляя для этого скрипты.

Рисуем пером

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

Команда «поднять перо» означает, что спрайт взял кисть и с этого момента за ним будет тянуться нарисованная линия. Соответственно после блока «опустить перо» рисунков не будет. В команде «установить цвет пера» программа обычно выбирает случайную расцветку.

Поменять расцветку пера можно следующим образом:

  1. Щелкните по квадратику с цветом.
  2. Наведите курсор на желаемую расцветку на палитре блоков.
  3. 1 раз щелкните по нему левой кнопкой мыши и цвет изменится.

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

Нарисовать равносторонний треугольник нам поможет вот такой скрипт:

Повторить 3 раза – количество сторон треугольника, 50 шагов – длина стороны, 120 градусов – размер одного угла равностороннего треугольника.

Рисуем мышью

Для того чтобы рисовать, передвигая курсор по сцене, составьте вот такой скрипт.

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

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

При его несоблюдении перо рисовать не будет.

Рисуем клавиатурой

Клавиатурой можно рисовать с помощью стрелок. Для каждой из клавиш необходимо составить персональные скрипты.

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

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

Разместите все эти программки в области скриптов одну под другой, щелкните по флажку и попробуйте рисовать стрелками на клавиатуре.

Краткое описание игры

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

Цель игры – разбить висящие в воздухе над платформой кирпичики и не уронить мяч.

Игровой процесс на примере игр Breakout и Arkanoid

Любопытный факт: класс проектов с подобным игровым процессом позаимствовал название у видеоигры Arkanoid, которая была выпущена в 1986 году, а вовсе не от первой реализации задумки, появившейся на 10 лет раньше. Обе они предназначались для игровых автоматов.

Оригинальный арканоид 1976-го года выпуска носил имя Breakout и был разработан фирмой Atari. Игра стала популярной, и через два года вышло продолжение – Super Breakout. Интересно, что самый первый вариант ее реализации был выполнен будущим сооснователем компании Apple Computer Стивом Возняком по заказу Стива Джобса, который тогда работал в Atari.

Игровой автомат с игрой Breakout

Game Over

Ура, наша игра готова! Птица летит, преграды вырастают на ее пути, она маневрирует… и врезается во второй или третий по счету ряд труб. Наша игра получилась очень похожей по сложности на оригинальную Flappy Bird, ведь там тоже мало кому удавалось долго продержаться.

Игровой процесс реализованной нами копии Flappy Bird

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

Для перехода в редактор и создания надписи воспользуемся пунктом «Нарисовать». Он находится в меню на панели фонов.

Кнопка для перехода в редактор и создания своего фона

А там ждут уже знакомые инструменты, при помощи которых можно изобразить буквы от руки, собрать из фигур или задействовать инструмент «Текст».

Размер надписи можно сразу оценивать на рабочем экране, так как на время редактирования активным автоматически становится новый фон.

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

Проверяем, что выбран теперь не спрайт, а панель фонов, и добавляем стандартный стартовый блок — «Когда зеленый флажок нажат».

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

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

Два скрипта для смены фона

С большими красными буквами наш Flappy Bird стал еще беспощадней.

Game Over в игре Flappy Bird, созданной на Scratch

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

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

Step 1: Creating a Simple 2d Maze

(all the images above are in chronological order with the text)

Before the 3d part starts, we need to create a 2d game so then we use ray-casting to give the impression of a 3d game.

First, you just have to create a sprite called «maze» and draw a simple maze. In my case, I just downloaded an image from google and then traced it over using the line tool. the only line of code you need is to centralize the maze on the screen.

PS: small spaces are good to improve performance

then you can clone the maze sprite and call it «Exit». all you have to do here is trace lines on your map in the places you want to end the game, and after that, you can delete the maze(the clone) and only leave the exits. after that, you need to trigger the winning message to display it by using the code above.

Now you write some text for the winning message as a new sprite, and for the code when it receives the win broadcast it shows up.

Finally the for the player itself, you just need to draw a simple small box and then code its movement script. you can use your movement code of choice, in the images above I put a movement script that uses WASD, but you can change for arrows if you want to.

In the end, you should have a simple 2D top-view maze game

Программируем движение с изменением направления персонажа

Последовательность костюмов для идущего ниндзя

Ниндзя бьет по противникам в Скрейтч

Сразу загрузим костюм для Бомбермена (одного из врагов ниндзя)

Загружаем костюмы для первого врага

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

Переходим к написанию кода для движения нашего героя с разворотом в направлении выбранном нами на контроллере управления (пульт, джойстик, клавиатура или виртуальные кнопки). Для движения вправо готовый код выглядит следующим образом (движение вправо пишите самостоятельно):

  • Блок Показать — добавлен сюда из-за использования параметра Спрятаться в другом месте игры (пока можете  написать код без него);
  • Блок Если касается края, оттолкнуться — позволяет персонажу не уходить за края игровой области (попробуйте вначале написать этот код и не добавлять блок Установить способ вращения и посмотрите, что получится);
  • Установить способ вращения вправо-влево — добавление кода позволяет убрать у персонажа эффект переворачивания с ног на голову при отталкивания от края;
  • Повернуть в направлении -90 — этот код является основным в алгоритме движения спрайта с разворотом в нужном направлении и отвечает непосредственно за поворот в нудном направлении;
  • Идти 10 шагов — отвечает за скорость перемещения персонажа. Отвечает за движение спрайта в том направлении, куда он повернут. Те.е герой не всегда будет идти слева на право ! (поиграйтесь с значением данного блока, а так же попробуйте использовать его без блока Повернуть в направлении -90 градусов)
  • Ждать 0,05 секунд — код добавлен для плавной смены костюмов и визуальной видимости тго, что спрайт идет.
  • Следующий костюм — после каждого нажатия на кнопку персонаж будет менять костюм (попробуйте понажимать на кнопку медленно,а затем просто зажмите ее и посмотрите, что из этого выйдет)

https://youtube.com/watch?v=MEVGdfwVwxc

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

Пишем код для скроллинга в скретч

В левом меню визуального программирования найдем раздел отвечающий за переменные и создадим в нем три разных блока переменных: ScrollX, Times, Clones. Из картинки выше выбираем Спрайт 2 и переносим в него несколько блоков из меню визуального программирования. Первым делом опишем события, которые последовательно произойдут после нажатия на Зеленый флажок. Зададим начальные данные для переменных, отцентрируем нарисованный спрайт, дадим ему команду появиться и добавим условия для последующего плавного движения. Должен получиться следующий древовидный блок:

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

Третий кусок кода я приведу только как набор программных блоков, так как он будет домашним заданием. Наберите следующий код:

Домашнее задание

После полного написания кода для скроллинга и проверки его работоспособности раздели этот код, как показано выше и посмотри, что получится. Как объяснить получившийся эффект и за что отвечает этот кусок кода?

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

Варианты установки Scratch

Scratch доступен в двух вариантах: онлайн (в браузере) и оффлайн (отдельное приложение для установки на компьютер). Оба бесплатны. Функционал в них идентичен.

Для разработки своих игр в настольном приложении — сначала скачиваем и устанавливаем его.

На момент написания статьи актуальна версия 3.23.1, которая представлена несколькими реализациями: для Windows, MacOS, ChromeOS и Android. Первые две можно взять прямо с сайта программы: https://scratch.mit.edu/download

Если будете устанавливать приложение на планшет или ноутбук через Google Play, не перепутайте Scratch с ScratchJr. Второе — крайне урезанная и упрощенная вариация, она для малышей от 5 лет.

Скачать Scratch 3 можно совершенно бесплатно