Как сделать управление в скретч
Scratch алгоритмы на примере проекта Ниндзя
Теперь поговорим о каждом из приведенных выше алгоритмах scratch по отдельности. Перед прочтением материала по возможности ознакомьтесь со статьями начального уровня — их я помечаю тегом: для детей 6-7 лет в основной рубрике по детскому программированию. Перед прочтением скачайте графическую часть будущей игры (ZIP-архив)
Программируем движение с изменением направления персонажа
Загружаем начальную графику для игры. Для начала загружаем спрайт и подгружаем первые три костюма для объекта. Если вы не знаете как загрузить спрайт и костюмы, то посмотрите начальные уроки по Скрейт на этом сайте. Дело не в том, что мне лень это написать здесь, а в том, что безопытные пользователи не смогу разобраться в следующем коде. Подробного описания не будет, так как материал расчитан на детей уже знакомых со Скрейтч. И так загружаем графику из скаченного архива:
Последовательность костюмов для идущего ниндзя
Ниндзя бьет по противникам в Скрейтч
Сразу загрузим костюм для Бомбермена (одного из врагов ниндзя)
Загружаем костюмы для первого врага
Ну и конечно же не забываем загрузить фон. На приведенных картинках виден порядок костюмов и их названия — вы должны справиться без проблем 🙂
Переходим к написанию кода для движения нашего героя с разворотом в направлении выбранном нами на контроллере управления (пульт, джойстик, клавиатура или виртуальные кнопки). Для движения вправо готовый код выглядит следующим образом (движение вправо пишите самостоятельно):
В этой части вы самостоятельно пишите код для движения вправо, а так же позиционирование персонажа при нажатии на запуск игры (Зеленый флажок). Не переживайте, в конце игры будет архив с фотографиями всего программного кода.
Алгоритм прыжка вверх в Scratch
Подробное описание смотрите в статье — Как сделать прыжок в Scratch). Код для ниндзя будет иметь следующий вид:
Описание запрограммированных блоков:
Чтобы проше написать алгоритм кода для удара ниндзя мечом создаем новый спрайт и загружаем 3 костюма удара мечом по противнику. Так как этот спрайт будет невидим во время старты игры и движения вправ и влево, а так же прыжка вверх, то добавляем следующий код:
Описание блоков:
Зачем написан алгоритм синего цвета:
Этот небольшой код позволяет разворачивать персонаж (а мы помним, что бьющий ниндзя — это другой спрайт) в ту сторону откуда идет противник. Без этого блока алгоритмов враг заходил бы слева от персонажа, а меч махал бы справа.
Как сделать управление в скретч
У меня хорошая новость для тех, кто не любит выстукивать на клавиатуре буковки!
Обычная программа — это текст. Но есть язык, в котором программа собирается из блоков, как собирается игрушка из кубиков Лего.
В командном режиме исполнитель получает команду, выполняет её и ждёт следующую. Чтобы задать команду на исполнение, нужно щёлкнуть на ней в СКИ.
В программном режиме исполнитель получает программу — последовательность команд и выполняет по порядку все команды в неё входящие.
Программы собираются из блоков в поле программы, и именно этот режим интересен для нас — программистов!
Для начала повторяйте за мной!
Сбросьте нижний блок назад в область СКИ (так из программы удаляется последняя команда), щёлкните на белом окошке в оставшейся команде (в нём появится мигающий текстовый курсор) и исправьте значение 10 на 20.
Щёлкаем, кот смещается на 20 шагов.
Посмотрите, над средой исполнителя расположены две кнопки: — зелёный флажок и красный восьмиугольник.
Теперь кот не будет ходить подобно мухе по потолку! Проверьте.
Сохраним работу на диске ( Файл/Сохранить как ) и продолжим.
Спрайты, костюмы, скрипты, звуки
А у нас в Роботландии предпочитают чай с сухариками!
Спрайт (англ. Sprite — фея; эльф) — графический объект в компьютерной графике. Спрайт может свободно перемещаться по экрану под управлением программы.
Если вы думаете, что исполнителем в среде Скретч может быть только фирменный кот, вы ошибаетесь!
Удалим кота и назначим исполнителем летучую мышь.
Удалить спрайт из среды можно разными способами.
Важно! При удалении спрайта программа, которая для него написана, тоже будет удалена.
Итак, кот удалён (вместе со своей программой). Выбрать новый спрайт можно разными способами:
Выбираем в библиотеке спрайтов в группе Животные изображение летучей мыши.
Задача 2 ( 2 кука ). Изобразить полёт летучей мыши.
Можно заставить спрайт мыши, как ранее спрайт кота, двигаться в среде, отталкиваться от краёв и поворачиваться в сторону движения.
Но такое движение далеко от реального! Почему? Кот, когда идёт, должен двигать лапками, а мышь — крыльями!
Вы, конечно, знаете, как устроены мультики — нам показывают друг за другом несколько фаз движения, глаз не успевает разглядеть их по отдельности, и рисунки сливаются в мультик.
Чтобы показать полёт, нужно иметь не одно, а несколько изображений, с разными положениями крыльев!
Скретч прекрасно понимает наши мультяшные желания, и в нём каждый спрайт может иметь несколько «костюмов»!
Теперь легко собрать код, отвечающий за смену костюмов.
Запись | Что означает |
---|---|
1 секунда | одна секунда |
0.1 секунды | одна десятая часть секунды |
0.2 секунды | две десятых частей секунды |
0.3 секунды | три десятых частей секунды |
0.4 секунды | четыре десятых частей секунды |
Получается, что программа полёта состоит из 2-х частей — части, отвечающей за передвижение и части, отвечающей за смену костюмов. Эти части собраны под двумя отдельными «шапочками»:
Задача 3 ( 1 кук ). Добавить в мультик бегемота на водопое.
Посмотрите: водопой бегемота правдоподобнее полёта мыши! Почему так? Спрайт бегемота имеет больше костюмов! Качество мультика повышается, когда предусмотрено больше фаз движения. «>.
А можно ли добавить ещё одного исполнителя в среду? Да!
Скретч допускает сколько угодно исполнителей-спрайтов в среде, и для каждого спрайта записывается собственная программа работы.
Заметим, что загрузить все 5 костюмов можно, как обычно при работе с файлами, за один раз, выделяя нужные картинки.
Если загрузить анимированный gif в качестве спрайта, он автоматически будет разделён на составляющие картинки-костюмы.
Часть программы полёта мыши, отвечающая за смену костюмов, вполне подойдёт и для бегемота. Копируем её:
Проверяем, выполнилось ли копирование:
Запускаем мультик, нажимая зелёный флажок.
Мышь летит, бегемот пьёт. Красота! У вас получилось?
Задача 4 ( 1 кук ). Пусть дополнительно мышь и бегемот, когда на них щёлкают, издают звуки.
Сначала займёмся мышью.
Дополним программу мыши ещё одним фрагментом:
Мы уже видели, что программа спрайта может состоять не из одного, а нескольких фрагментов.
Первые два фрагмента начинают работать после щелчка на зелёном флажке ( ), третий — после щелчка на спрайте в среде.
Script (скрипт) в переводе с английского означает сценарий. Хорошая замена словосочетанию «фрагмент программы»!
Остаётся загрузить для бегемота другой звук, например, wah beatbox и установить его в команде:
Сохраним работу на диске ( Файл/Сохранить как ).
Освоить любой предмет без практики невозможно. Освоить без практики программирование — просто немыслимо. Поэтому Кукарача настоятельно рекомендует выполнять задания, собранные в учебнике на специальных страницах Проекты.
Кроме того, в описания проектов будут выноситься важные технические подробности, без знакомства с которыми невозможно получить качественную программу.
— Ребята! В проектах учебника важны не только условия. Не пропустите важные моменты! Они могут быть.
Самое важное про Скретч :
№ | Что узнали |
---|---|
1 | Исполнителем может быть любой рисунок, свободно перемещаемый по среде. Cобытие задаётся в первом блоке скрипта (блок-шапочка). |
7 | Два события являются особенными: нажатие на зелёный флажок и нажатие на красный восьмиугольник. Флажок считается командой запуска всего проекта (кроме того, флажок останавливает все скрипты проекта, если они работали до момента его нажатия). Интерфейс и инструменты среды программирования Scratch 3Кружок робототехники Робикс сегодня рассказывает об интерфейсе и основных инструментах программы Scratch. Если пока не знакомы с ней, то это бесплатное решение для создания мультфильмов и игр. Для своих статей мы выбираем разные вопросы и темы программирования на Scratch. В каждой инструкции разбираются лишь отдельные блоки и области приложения. Например, связанные с использованием переменных или обработкой условий. Сегодня обсудим наиболее часто используемые рабочие области и инструменты Scratch 3. Варианты установки ScratchScratch доступен в двух вариантах: онлайн (в браузере) и оффлайн (отдельное приложение для установки на компьютер). Оба бесплатны. Функционал в них идентичен. Чтобы использовать веб-версию, просто переходим по ссылке: https://scratch.mit.edu/projects/editor/ — и начинаем работу над новым проектом. Для разработки своих игр в настольном приложении — сначала скачиваем и устанавливаем его. На момент написания статьи актуальна версия 3.23.1, которая представлена несколькими реализациями: для Windows, MacOS, ChromeOS и Android. Первые две можно взять прямо с сайта программы: https://scratch.mit.edu/download Если будете устанавливать приложение на планшет или ноутбук через Google Play, не перепутайте Scratch с ScratchJr. Второе — крайне урезанная и упрощенная вариация, она для малышей от 5 лет. Обзор рабочих областей окна ScratchОкно программы Scratch 3 содержит несколько рабочих зон и меню. Самая верхняя строка позволяет переключать язык надписей во всем приложении (по умолчанию — английский), а также сохранять / открывать файлы проектов и отменять последние совершенные действия. На ранних этапах работы со Scratch могут быть полезны встроенные руководства, в них создатели заложили советы и короткие инструкции для начинающих. Вверху окна, сразу после синей полосы с кнопками, переключаются вкладки с инструментами. Основная работа производится здесь. Добавление персонажей и объектов на экран, программирование анимации и взаимодействий. Сюда переключаемся для настройки выбранного спрайта. Изменение цвета, размера, формы или внешнего вида целиком. Если объект может издавать звуки, то на этой вкладке их можно прослушать и изменить. Когда находимся на какой-то из вкладок, нам становится доступен соответствующий набор панелей и возможностей. Наиболее часто используются первые два: для написания кода и редактирования спрайтов. Основные зоны вкладки «Код»Здесь можно найти все возможные блоки, из которых строятся проекты и благодаря которым происходят различные действия в игре или анимации. Здесь из блоков собираются последовательности — скрипты, — а также настраиваются действия, которые выполняются спрайтами. На этом экране происходит анимация или игровой процесс (зависит от цели проекта). Все объекты, которые помещаются на сцену, появляются на этой панели. Здесь производится их добавление и настройка. Небольшая панель рядом со сценой позволяет выбрать фон для анимации из встроенной библиотеки или загрузить свой. Запуск и остановка выполнения проекта в Scratch производятся с помощью специальных кнопок рядом со сценой — с зеленым флажком и красным значком соответственно. Основные зоны вкладки «Костюмы»При переходе на вкладку «Костюмы» остаются доступными сцена, а также панели спрайтов и выбора фона (см. пп. 3-5 выше). Область кода и блоки заменяются инструментами для рисования и других операций с изображениями. Функционал вкладки «Костюмы»:
У каждого объекта на сцене может быть несколько обличий. Особенно это актуально, если нужно анимировать его. Перещелкивая костюмы, мы и будем получать движения. Инструменты здесь достаточно интуитивны. Выбираем «Круг» и рисуем окружность, переключаемся на «Кисть» и изображаем все, что попросит душа (и позволит наш талант художника). В Scratch встроена библиотека, из которой можно выбирать и добавлять в свои проекты готовые спрайты. Некоторые из них уже анимированы и имеют звуковые эффекты. Этапы разработки своего проектаБазовая последовательность действий для создания своей игры или мультфильма такова: Доведенный до ума проект можно опубликовать и дать другим людям поиграть в него. Не забудьте только оставить комментарий с инструкцией или короткой подсказкой о цели игры и кнопках управления персонажем! Быстрый обзор и установка Scratch 2.0 и Scratch 3.0Scratch настолько понятен, что сразу после просмотра 3-минутного ознакомительного видео вы сумеете создать свою анимацию. Посмотрите и попробуйте! Вам понравится! Чтобы сделать первые шаги в мир программирования, зайдите на сайт scratch.mit.edu и перейдите по ссылке «Создавай (Create)» или используйте прямую ссылку на онлайн-редактор.
Основная часть наших уроков была записана в Scratch 2.0, но всё то же самое можно делать и в Scratch 3.0, так как изменился интерфейс (внешний вид) инструментария, а язык почти не изменился. Мы записали несколько прямых эфиров в youtube, посвящённых сравнению двух версий Scratch. При желании можно продолжить работать в Scratch 2.0, установив его на свой компьютер. Даже если вы не очень хорошо умеете пользоваться компьютером, Scratch и наши видео-уроки по программированию игр помогут им овладеть и многое понять. Как установить Scratch 2.0 на свой компьютер?Для того чтобы начать программировать в Scratch, ничего устанавливать не требуется. Всё можно делать прямо на сайте Scratch. С января 2019 года на официальном сайте доступна его новая версия 3.0. Но если есть необходимость использовать Scratch 2.0 или даже его первую версию, такая возможность есть. Смотрите видео и устанавливайте Scratch вместе с нами! Установим Scratch DesktopScratch Desktop — это офлайн-редактор новой актуальной версии Scratch 3.0. И если по каким-то причинам у нас не будет интернета, не беда — мы всё равно сможем творить! 🙂
Сохранение очков и рекордов. Облачные Данные Scratch
Рассмотрим ниже небольшую заготовку игры, в которой с помощью облачной переменной сохраняется достигнутый лучшим игроком рекорд. Управление: двигай мышку влево-вправо и лови падающие яблоки. Изучаем документациюЧтобы помочь ещё лучше разобраться в данной теме, мы перевели на русский язык часть документации Scratch, где даны ответы на вопросы о том, что такое облачные переменные, как их создавать и пр. Сделали также несколько иллюстраций и дополнительных уточнений для лучшего понимания. Что такое облачные переменные?Облачные переменные позволяют сохранять данные из проекта и предоставлять к ним доступ другим пользователям сообщества Scratch. Вы можете использовать облачные переменные для проведения исследований (опросов) и других проектов, где другие члены сообщества могут со временем получать доступ к данным и изменять их. Примечание: «облачные» — значит те, которые хранятся на сервере Scratch, в глобальной сети Интернет. Именно поэтому все могут иметь доступ к этим данным. Кто может видеть данные, сохранённые в облачных переменных?Когда вы взаимодействуете с проектом с использованием облачных переменных, данные, связанные с вашими взаимодействиями, могут быть сохранены вместе с вашим именем пользователя, и другие пользователи смогут их просматривать. Какого типа данные могут храниться в облачных переменных?В облачных переменных могут храниться только числа. Если я вижу, что кто-то публикует нежелательный контент с использованием облачных переменных, как мне сообщить об этом?Нажмите кнопку «Report (Пожаловаться)» красного цвета (на странице проекта под его описанием это третья по счёту кнопка после «Добавить в студию» и “Copy link”, см. картинку ниже), чтобы сообщить о неприемлемом контенте в облачных переменных. Не забудьте указать «облачные переменные» при вводе причины в отчете. Можно ли создавать чаты с облачными переменными?На сайте Scratch чаты с облачными переменными не разрешены, хотя технически это возможно. Как создать облачную переменную?Перейдите в раздел «Переменные» палитры блоков (группу команд «Переменные»), выберите «Создать переменную» и установите флажок слева от надписи «Облачная переменная (хранится на сервере)» (см. картинку ниже). Данные, связанные с вашей облачной переменной, будут храниться на сервере, сохраняться с течением времени и доступны для всех, кто открывает проект.
Кто может изменить информацию в облачной переменной?Только вы и пользователи вашего проекта можете хранить данные в облачных переменных этого проекта. Если кто-либо входит внутрь проекта или делает ремикс вашего кода, создаётся копия переменной, и она не влияет на исходную переменную и не изменяет ее. Я вошел в систему, но не могу использовать проекты с облачными переменными. Что происходит?Если вы являетесь «Новым скретчером» (новичком) на сайте, вы не сможете использовать проекты с облачными переменными. Чтобы получить доступ к облачным переменным, вам нужно стать Скретчером (получить статус Scratcher). Сразу после создания аккаунта каждый пользователь помечается как «Новый Скретчер». Чтобы получить статус «Скретчер», нужно делиться своими проектами, комментировать проекты других Скретчеров и терпеливо подождать! После того как вы будете соответствовать требованиям, в профиле появится ссылка, приглашающая стать Скретчером, и вы получите некоторые дополнительные возможности на сайте Scratch. (Примечание: по запросу получить статус «Скретчер» новичкам невозможно). Возможно ли создавать многопользовательские игры с помощью облачных переменных?Создать многопользовательскую игру может оказаться сложно из-за проблем со скоростью сети и синхронизацией. Тем не менее, некоторые Скретчеры придумывают креативные способы использования облачных переменных для пошаговых стратегий и других типов игр. Как узнать, используются ли облачные переменные в проекте?В новой версии Scratch 3.0 можно быстро узнать, используются ли в проекте облачные переменные, на странице с описанием проекта. Под окном проигрывателя проекта, сразу под значками «лайк» (иконка сердечка) и «избранное» (звёздочка) отображается поле на светло-синем фоне с надписью Облачные Данные и иконкой облака (см. картинку). Примечание: замечено, что если проект был создан в Scratch 2.0 и после обновления Scratch до версии 3.0 его никто не запускал и не сохранял данные, на странице «История облачных данных» будет сообщение о том, что сохранённых данных нет: There seems to be no Cloud Data activity on this project… Аналогично, если новый проект не запустить и не использовать облачные переменные, получим такое же сообщение. Примеры проектов с использованием облачных переменныхКак это сделать, частично можно узнать из Скретч ВИКИ в разделе «Облачный список» (см. по ссылке ниже). Дополнительные источникиЕщё об использовании облачных переменных в Scratch можно почитать на страницах русскоязычной Скретч ВИКИ:
|