ФОН ИГРЫ
Мы покажем вам, как в Скрэтч можно сделать игру-пазл. Для начала нарисуем фон будущей игры, например, в виде сцены. Нам необходимо нарисовать два прямоугольника и закрасить их с помощью заливки. Есть два способа нарисовать ровные прямоугольники:
- Первый способ — с помощью инструмента линия, главное задать клавишу Shift, когда рисуете линию, тогда она будет ровной.
- Второй способ — это весьма очевидное использование инструмента прямоугольник.
Наша сцена готова, давайте теперь подпишем игру, чтобы было понятно, в чем заключается ее смысл.
СПРАЙТЫ ДЛЯ ИГРЫ В СКРЭТЧ
Теперь надо создать спрайты, которые будут участвовать в игре. Мы подготовили для вас пак готовых спрайтов, там находятся фрукты и их тени, их можно скачать по ссылке. Мы загружаем все свои спрайты и меняем их размеры, так как одновременно на игровом поле должно находиться 6 объектов: 3 вида фруктов и 3 тени. Для фруктов зададим значение 25%, а для их теней —40%.
Теперь давайте создадим табличку, которая будет информировать нас о победе. Для этого из галереи спрайтов мы вытаскиваем серую кнопку и подарок. Затем выделяем все элементы на подарке, копируем его с помощью клавиш Ctrl+C и вставляем, используя Ctrl+V, на спрайт таблички.
Снова выделяем его и подгоняем по размеру. Меняем цвета кнопки, делая ее более живой и радостной.
Теперь соединим оба элемента и сгруппируем их вместе. Можно сделать так, чтобы в конце игры эта табличка появлялась и закрывала почти весь экран, поэтому мы перемещаем ее в центр и подбираем масштаб 530%. Отлично, мы создали все необходимые спрайты, приступаем к программированию.
ПРОГРАММИРОВАНИЕ ИГРЫ SCRATCH (СКРЭТЧ)
Так как все наши фрукты обладают одинаковыми свойствами, мы напишем скрипт только для одного яблока, потом продублируем его на остальные фрукты и внесем небольшие поправки.
А теперь приступим.
- "Когда нажат спрайт”, “перетаскивать можно” — именно с помощью перетаскивания и будет осуществляться игра.
- Далее, когда нажат флажок, ставим цикл “повторять всегда”, а внутрь кидаем условие “если, то” . Если мышь нажата и касается указателя мыши, то задать выбранному объекту значение равное яблоку. Таким образом мы будем видеть, что мы перетаскиваем на счетчике внизу экрана.
Пишем вторую команду, начинающуюся с блока:
- “когда флажок нажат”,
- “показаться”, установить размер 25%.
- Задать переменной “угадано” значение 0, оно будет меняться с каждым угаданным силуэтом.
- После зададим команду “Перейти в х=-159 у=121” —это будет начальное положение яблока, примерно там, где оно находится сейчас.
- Затем ставим цикл “повторять всегда” и условие “если мышь нажата”, то “ждать до” момента, пока мы не отпустим кнопку.
- После этого, если выбранный объект является яблоком, то есть равен яблоко, то, если оно касается тени яблока, передаем сообщение “верно”, если же не касается тени, то передаем сообщение “неверно яблоко”.
- Начнем с “когда я получу сообщение” “верно”, ставим блок условия, если выбранный объект равен яблоку, то ему необходимо плыть 1 секунду к координатам тени, которые мы можем посмотреть, нажав на спрайт тени.
- Итак надо плыть в точку х= -158 и у=-36, после чего устанавливаем размер в 40%. Таким образом, яблоко встанет ровно в центр тени своего силуэта и увеличится в размере, полностью совпадая с тенью.
- После пишем очередное условие, которое будет отвечать за окончание игры. Если количество на счетчике “угадано” становится равным трем, тогда надо передать сообщение “победа”, после чего можно спрятаться.
У нас еще осталась команда когда я получу сообщение “неверно яблоко”, надо, чтобы спрайт отлетел на свое первоначальное место, для этого ставим блок “скользить 1 секунду” в х=-158 и у=121.
Теперь давайте постепенно перетаскивать наши скрипты на спрайт банана.
- Меняем все значения яблоко на банан, чтобы в нашем нижнем счетчике, при зажимании банана, было написано “банан”, а не “яблоко”.
- Затем меняем значение координаты тени банана, где х=160 и у=-46 .
- Так же, как и яблоку, если мы отправляем банан на чужую тень, ему надо вернуться на первоначальное место, поэтому меняем координаты и там. х=-12 у=112.
- В команде, начинающейся с “когда флажок нажат”, также меняем “яблоко” на “банан” и значение первоначально координаты банана.
- И не забываем поменять значение в сенсоре, на тень банана то есть “banana shadow”.
Теперь так же работаем с апельсином. Перекидываем все скрипты на спрайт апельсина и меняем координаты.
- Начнем с “когда я получу сообщение неверно” меняем координаты на 154 и 112,
- когда же я получу сообщение “верно” “выбранный объект равен апельсину” , плыть надо в координаты тени апельсина х=3 у=-45. В этой команде меняем “банан” на “апельсин”.
- Также меняем первоначальные координаты и сенсор меняем на тень апельсина “orange shadow”.
- Исправим сообщение, которое мы передаем при неудаче. Назовем его “неверно апельсин”, чтобы программа не путалась.
- Перейдем на скрипт банана и также создадим новое сообщение “неверно банан”.
- А теперь сделаем так, чтобы очки увеличивались. Давайте вставим блок “изменить” “угадано” на 1, в цикл после передачи сообщения “верно”. Сделаем точно так же и со скриптом банана и апельсина.
Давайте проверять.
- Отлично, очки увеличиваются, но теперь наш апельсин куда-то пропал. Чтобы исправить это, давайте уберем блок “спрятаться” со всех фруктов.
Мы на финишной прямой, осталось только запрограммировать табличку победы. “Когда флажок нажат”, мы не хотим ее видеть, поэтому ставим блок “спрятаться” и “перейти” в координаты центра экрана “х=-3 у=19”. Вторая команда: “когда я получу” сообщение “победа”, необходимо “перейти на передний слой”, после чего “показаться”.
Вы можете усовершенствовать эту игру и сделать несколько уровней, которые будут усложнятся, или сделать ограниченное количество попыток. Все в ваших руках!
Сегодня мы с вами создали весьма интересный пазл, в который можно играть как одному, так и с друзьями. Если вас заинтересовало использование платформы Скрэтч, и вы бы хотели придумать и воплотить в жизнь свой личный проект, добро пожаловать в онлайн-школу программирования “Пиксель”.