Как сделать игру в скретч ловить предметы

Добавил пользователь Алексей Ф.
Обновлено: 19.09.2024

Ко мне на занятие приходит новый мальчик лет 10 лет, Максим. Перед началом он презрительно осматривает группу ребят 7-9 лет, все младше него. И говорит: Антон, ну а Скретч же уже нигде не используют, сейчас же на более сложных языках детей учат программировать?
Я: есть и другие языки, а ты на Скретче умеешь работать?
Он: Ну да, делал программы.
Я: отлично, садись, посмотрим что ты умеешь.

Программа такая: наверху экрана плавают 5 воздушных шариков, внизу — ракета, которой мы управляем клавишами влево-вправо. По нажатию на пробел ракета должна вылетать наверх и лопать шарики. Когда все шарики лопнули, показать экран победы.

Ребята бросаются в бой — кто-то начинает с расстановки шариков, кто-то с ракеты и ее управления. Через несколько минут показывают свои программы — шарики висят, ракета ездит влево-вправо.
Замечаю, что новенький Максим сидит, в ступоре глядя, как Сережа рядом быстро делает игру.
— Не пойму, с чего начать?
Я подсказываю — выбери шарики, задай им положение на сцене.
— А как это сделать?
Показываю…
— А как стрельбу сделать?
Рассказываю — делаешь отдельный объект-пулю, она невидимо перемещается за ракетой и следит за нажатием пробела — когда нажимаем, она летит наверх.
— Ничего не понял — как невидимо перемещается, как летит?

В итоге намучался я с этим опытным мальчиком. Как делать плавное движение — не знал, с координатами не разобрался, клонирование не понял. Оказалось, что в такой простой штуке, как Скретч, есть вещи, которых парень не знал. И это базовые вещи — движение, управление объектами…

Зато в конце занятия он начал мне рассказывать, что создает сервер для Майнкрафта.

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

А вот сервера создавать — для GTA или Майнкрафта — это настоящее крутое программирование.

Действительно ли Скретч — бесполезная трата времени и нужно ли переключать детей на более сложные вещи? Давайте смотреть.

Мнимая крутизна

Что означает, что ребенок создает игровые сервера? Говоря простыми словами, он берет готовую игру, копирует ее и меняет настройки. Что меняет:
— Притяжение (гравитацию)
— длительность дня
— силу удара персонажей
— количество жизней у героя

И задача программирования в том, что ребенок в четко оговоренном месте меняет несколько чисел.
/time set day — и в Майнкрафте наступил день.
/summon horse — и уже бежит квадратная лошадь

Вроде бы в этом нет ничего серьезного? Да, серьезного в выполнении простых команд ничего нет. Умственных усилий при таком программировании почти не прикладывается. Но у ребенка перед глазами совсем другая игра, к которой он приложил руку. И ему кажется, что он сам создал весь этот новый мир. Это открывает ребенку новые возможности:
— Можно говорить друзьям “я вчера новый сервер Майнкрафта сделал”
— Можно считать себя настоящим программистом, который пишет код
— Помечтать о том, что в его версию майнкрафта будут играть тысячи человек и на этом можно заработать

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

Пар из ушей

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

С чего начну? Наверное, с башни, которая стоит посередине и просто стреляет. Потом сделаю монстров, чтобы просто бежали. Потом уже все остальное.

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

Так, теперь стрельба. Делаю пулю, пусть следит за направлением мышки. Делаю обработчик клавиши пробел — теперь пуля вылетает в сторону курсора мыши. Отлично!

Непорядок, у нас получается только одна пуля, которая все время вылетает при выстреле. Получается, нельзя выстрелить, пока пуля не улетела за край экрана? Придется заморочиться с созданием клонов — пусть летят клоны, настоящая пуля будет скрыта.
А лучше сделать перерыв, чайку попить…

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

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

Пар из ушей во время программирования — это нормально, так и должно быть. Когда дети пишут программы на Scratch, то пар идет.

Бесполезное развлечение?

Теперь о том, полезны ли занятия Скретчем с детьми или это баловство?

Давайте начнем с плохого, с минусов Скретча:

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

Теперь поговорим о хороших сторонах Скретча.

⭐ Главная польза в том, что во время занятий ребенок активно думает. Ему приходится. Ничего не делается само собой. Чтобы герой плавно двигался, прыгал с одной стороны карты на другую, выпускал по несколько пуль сразу — все это нужно делать своими руками. Использовать клоны или нет? Как перебрасывать героя по координатам? Масса задач и проблем, которые приходится решать здесь и сейчас. Отличная тренировка для мозгов.

⭐ Дети осваивают простые инструменты компьютерного языка — циклы, условия, алгоритмы. Да, это происходит в визуальном виде, вместо настоящего

Хотите научиться создавать клон одной из самых популярных среди детей игр Among Us в среде программирования Скретч? Следуйте нашим подробным инструкциям.

IT-сфера превратилась в неотъемлемую составляющую жизни подрастающего поколения. Дети активно осваивают навыки программирования, создания игр. Чтобы упростить им задачу, создаются визуальные среды программирования. Наибольшую популярность в последнее время приобрела Scratch, разработанная специалистами Массачусетского технологического института для тех, кто еще только учится кодить и мечтает в будущем стать программистом.

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

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

Яркий, увлекательный дизайн вдохновляет детей на создание собственных проектов. А то, что игру можно продемонстрировать игрокам практически со всего мира, стимулирует к поиску новых интересных идей. С нашей точки зрения, проще всего приобщить ребят к программированию, научив их делать любимые игры. Хотя Скретч и кажется простым, с помощью этой платформы можно разрабатывать игры самых разнообразных жанров: симуляторы, шутеры, аркады, платформеры и т. п. А также создавать клоны пользующихся огромной популярностью игр, в том числе Among Us, Brawl Stars, Friday Night at Freddy’s.

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

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

Рассказываем, как вашему ребенку сделать первый шаг в изучении востребованной профессии и создать простую компьютерную игру на Scratch.

😺 Обучение детей программированию с помощью Scratch

Scratch – одна из лучших платформ для обучения юных программистов в возрасте 8+ через блочное кодирование. Она невероятно универсальна: блоки Scratch можно использовать для чего угодно, от создания анимации до составления интерактивных историй. Платформа поддерживает пользовательский ввод данных и дает ребенку практически неограниченный контроль над кодом. Опишем пошаговый рецепт создания в Scratch несложной видеоигры.

Шаг 1. План

Интерактивные игры должны удовлетворять двум требованиям:

  • Игрок должен что-то контролировать.
  • У игрока должна быть цель, которой нужно достичь.

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

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

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

Шаг 2: Основная механика

Теперь, необходимо подумать, как реализовать главную идею проекта. Давайте попробуем создать простую игру-собиралку.

Тема: игра будет про русалок, а действие будет происходить под водой.

Управление: игрок будет управлять движением персонажа.

Цель: перемещая персонажа, собрать как можно больше предметов.

😺 Обучение детей программированию с помощью Scratch

Шаг 3: Оформление

Один из важнейших аспектов игры – ее внешний вид. Визуальная тема – это комбинация окружения и персонажей. В проектах Scratch персонажи и объекты представлены спрайтами. Они представляют собой изображения и появляются в основной области, где происходит ваша игра (в правом верхнем углу, называемой сценой).

😺 Обучение детей программированию с помощью Scratch

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

Для этой игры мы выберем спрайт русалки из категории фэнтези.

😺 Обучение детей программированию с помощью Scratch

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

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

Чтобы русалка могла двигаться, используем соответствующие блоки Scratch для создания простого скрипта. Самый легкий способ сделать спрайтовое движение – использовать Event Listeners (Слушателей событий).

😺 Обучение детей программированию с помощью Scratch

Этот блок кода заставляет спрайт двигаться вправо-влево и говорит нам:

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

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

😺 Обучение детей программированию с помощью Scratch

😺 Обучение детей программированию с помощью Scratch

Теперь у нас есть скрипты для перемещения во всех четырех направлениях.

Цифры в блоках – это градусы поворота. Каждое значение представляет одно из основных направлений (вправо/влево/вверх/вниз). Они указывают спрайту, в какую сторону двигаться. Теперь вам даже не нужно нажимать зеленый флаг – просто нажимайте клавиши со стрелками, и картинка оживет.

Теперь игрок может управлять спрайтом.

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

Выбор забавного фона помогает передать тему игры и делает ее более увлекательной.

😺 Обучение детей программированию с помощью Scratch

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

Независимо от того, какой вариант вы выберете, постарайтесь согласовать персонаж с фоном.

😺 Обучение детей программированию с помощью Scratch

Шаг 4. Добавляем цель

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

😺 Обучение детей программированию с помощью Scratch

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

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

Это легко сделать с помощью блока go to random position.

😺 Обучение детей программированию с помощью Scratch

Хотя здесь всего несколько блоков кода, их может оказаться непросто понять. Давайте шаг за шагом разберем этот код:

  1. Вы нажимаете зеленый флаг – игра начинается.
  2. После нажатия жемчужина проверяет, не коснулась (touching) ли ее русалка.
  3. Если это так, то жемчужина переходит на случайную позицию (random position).
  4. Шаги 2 и 3 будут повторяться бесконечно (forever).

Forever – цикл, повторно запускающий любой помещенный в него код, пока игра не остановится. Он гарантирует, что всякий раз, когда русалка касается жемчужины, та отреагирует. Без цикла жемчужина проверила бы это условие только один раз в начале игры.

Все! Теперь игра готова и неплохо работает, но все же чего-то не хватает.

Шаг 5. Дополнительные расширения

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

Попробуйте подключить дополнительные функции:

  1. Счет (количество собранных предметов).
  2. Таймер (количество оставшегося у игрока на сбор жемчужин времени).
  3. Жизни (количество попыток, чтобы набить побольше очков).

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

Единственное ограничение для такого рода расширений – ваше воображение!

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

Посетите сообщество Scratch, чтобы продемонстрировать проект другим энтузиастам или изучить огромную коллекцию созданных ими видеоигр. Удачи!

jump object scratch

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


ВНИМАНИЕ!
Разрабатывая бесплатный курс по детскому программированию в scratch 2 я подготовил 4 варианта прыжка для персонажа с кодом разного уровня сложности. Описание этой статьи относится к 3 уровню сложности. Более простые варианты запрограммирования прыжковых навыков объекта смотрите по ссылкам ниже:

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

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

Перед началом работы загрузите фон и три спрайта или же нарисуйте спрайты в редакторе. О том, как рисовать персонажи и объекты в scratch читай в моем отдельном материале — Рисуем в редакторе Scratch (статья в стадии написания). В моем случае получилось так:

прыжок в скретч на другой спрайт

В представленном скрипте будет прыгать черный квадра. Вначале на 2 объект, а потом на 3 объект и наоборот. Начинаться код будет следующим образом:

начало скрипта кода по прыжку в скретч

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

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

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

код прыжка в скретч

Разберем показанный выше код. При нажатии на кнопку W помещаем в переменную значение 15. Поменяйте этот параметр и посмотрите, что изменится в поведении спрайта! Далее меняет значение параметра У (вертикальное прямая в плоскости) и тем самым перемещаем спрайт вверх. Помните, что все это делается под циклом: Повторять всегда ! Теперь дорабатываем скрипт для плавного движения объекта вниз и тут же указываем условие до какой степени осуществлять спуск. В примере вторая стадия прыжка будет выполняться до контакта с одним из указанных спрайтов. Поиграйтесь с значением -1 (этот параметр должен быть всегда отрицательным) и посмотрите, как изменится поведение спрайта!

На этом прыжковый урок закончен, но не завершена работа юного программиста. Домашним заданием будет доработка скрипта:



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

Подготовительный шаг


Ознакомьтесь, пожалуйста, с интерфейсом Scratch.


Шаг первый: фон



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

Шаг второй: спрайты


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

Шаг третий: корректировка спрайтов


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


Шаг четвертый: код для спрайта вертолета


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

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

Шаг пятый: код для облака



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

Шаг шестой: код для кнопки


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


Шаг седьмой: код для ягодки


Под сценой выделяем спрайт ягодок.


Шаг восьмой: код для фона


Выделяем фон слева внизу.


Шаг девятый: сохранение игры


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


Шаг десятый: запуск игры


Как и было указано в коде, игра будет запускаться только при нажатии на зеленый флажок. Остановить её можно красной кнопкой рядом с флажком.


-80%

Читайте также: