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

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

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

Исполнитель в Скретч может не только двигаться по среде, но и поворачиваться!

Вот команды, которые позволяют выполнять повороты:

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

Угол поворота измеряется в градусах от 0° (нет поворота) до 360° (полный оборот).

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

Вращение по часовой стрелке Вращение против часовой стрелки
на 45° на 90° на 45° на 90°

Задача 1 . Вращение спрайта ( 1 кук ). Заставить спрайт вращаться на месте вокруг своего центра.

Решение . В этом решении спрайт вращается по часовой стрелке:

Направление вращения легко сменить на противоположное, если заменить одну команду.
Задание 1 . Заставьте кота вращаться против часовой стрелки.
Задание 2 . Попробуйте изменить величину поворота, установив её сначала в 5, а потом в 25. Что происходит?

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

Обе следующие команды будут поворачивать спрайт на 15° по часовой стрелке:

Задание 3 . Заставьте кота вращаться по часовой стрелке при помощи команды .

Задание 4 . Заставьте кота вращаться против часовой стрелки при помощи команды .

Направление спрайта

Котёнок Мурлыка любил путешествовать. Обычно он выходил утром на крыльцо и решал, куда ему идти сегодня: на север, юг, запад или восток?

Однажды вечером Мурлыка познакомился с роботландским математиком Плюсиком .

Плюсик удивил Мурлыку , показав ему направления, принятые в среде Скретч :

Направления, принятые в среде Скретч . Рядом с направлением показана команда, которая устанавливает спрайт в указанном направлении

— Мур-мяу! — сказал Мурлыка . — Раньше я шёл на юг, а теперь мне надо идти в направлении 180° . А запад, так вообще, обозначается углом со знаком минус: -90° ! А если мне надо идти на северо-восток?

— Это направление обозначается углом 45° . Ничего, Мурлыка, ты быстро привыкнешь! Чтобы тебе было проще, я подготовил рисунок с указанием направлений в среде Скретч :

Вопрос . Посмотрите на эти две команды. Будут ли отличия в результатах их исполнения?

Ответ . Первая команда поворачивает спрайт вокруг его центра на 45° по часовой стрелке от текущего его направления. Вторая команда устанавливает спрайт в направлении 45° вне зависимости от текущего его положения.

Задача 2 . Отражение от стен. Мурлыка ( 2 кука ). Изобразить движение Мурлыки в комнате с отражением от стен из начального направления в 45° .

Задача 3 . Отражение от стен. Мурлыка и шарик ( 2 кука ). Движение, которое совершает Мурлыка , более подходит шарику. Добавьте на сцену спрайт шарика и заставьте его двигаться вместе с Мурлыкой по тем же правилам.

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

Подробнее о паспорте исполнителя

Кот кричит:
— Отдавайте посылку!
— Какие у вас документы? — говорит почтальон.
— Лапы, хвост и усы! Вот мои документы.
Но Печкина не переспоришь.
— На документах всегда печать бывает и номер. Есть у вас номер на хвосте? А усы и подделать можно. Придётся мне посылку обратно относить.

Свойства спрайта можно посмотреть и даже изменить в области Спрайты , расположенной под сценой:

Чтобы увидеть свойства спрайта нажмите пиктограмму в левом верхнем углу обложки паспорта. Паспорт откроется:

Посмотрите, что содержит паспорт каждого исполнителя:

Вид Название Менять Пояснение Имя Нужно! Кукарача советует давать свои имена спрайтам.

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

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

  • кругом (поворот на 180°),
  • влево-вправо,
  • не вращать.

Перетаскивание Можно Включите, если планируется такое взаимодействие спрайта с пользователем (например, перетаскивание машины в гараж).

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

Рекомендуется устанавливать видимость не в паспорте, а в программе.

Сцена — это тоже исполнитель!

Неожиданно занавес открылся, и все увидели за ним сцену. На сцену вышла поэтесса Самоцветик и закричала:
— Тишина! Тишина! Сейчас будет концерт. Внимание!

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

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

Задача 4 . Прогулка на авто ( 3 кука ). Автомобиль катит по дороге под весёлую музыку. Щелчок на сцене меняет сельский ландшафт на городской пейзаж. И наоборот.

Сцена/Вид . Подготовим сцену: выделим (щелчком) её паспорт, добавим два новых фона из библиотеки, начальный белый фон удалим, а для оставшихся запишем подходящие имена — село и город .

Сцена/Звуки . На вкладке Звуки загрузим для сцены (её паспорт должен быть выделен) два подходящих звука:

Звук zoop будет реакцией на щелчок, а мелодия drive around будет звучать во всё время работы программы.

Сцена/Скрипты . Первый скрипт запускает щелчок на сцене. В нём выполняются две команды — звучит zoop (имитация щелчка) и меняется фон.

Второй скрипт запускает зелёный флажок. Сцена принимает вид село , затем в цикле бесконечно проигрывается мелодия drive around .

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

Этот блок заставляет бесконечно выполнять вложенные в него команды. Команды выполняются друг за другом, по порядку (не одновременно!) пока программа не будет остановлена.

Сделаем ещё одно, не менее важное, замечание.

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

Вариант 1
Команды в одном скрипте работают последовательно. Сначала играет звук (до конца), затем (когда звук закончится) меняется фон
Вариант 2
Скрипты под одинаковыми шапочками работают параллельно (одновременно)

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

Команды в одном скрипте работают последовательно , а команды в разных скриптах с работают параллельно (одновременно).

Спрайт/Вид . В библиотеке в группе Транспорт выберем картинку car bug и назовём спрайт авто . Установим спрайт на сцену и уменьшим его.

Спрайт/Скрипты . Составим хорошо знакомый скрипт движения влево-вправо с отталкиванием от краёв сцены:

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

Видео проекта можно посмотреть по адресу: video/01/unit02/Walk_on_a_car.mp4

В уроке 1 было отмечено, что если в качестве изображения для спрайта загрузить анимированный gif , он автоматически разделяется на составляющие картинки-костюмы.

Аналогичное правило работает и для сцены: если в качестве изображения для сцены загрузить анимированный gif , он автоматически разделяется на составляющие картинки-фоны.

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

О важности ТЗ

— Чтобы научиться плавать, — говорит Кукарача , — надо прыгнуть в воду! А чтобы научиться создавать программы, надо программировать!

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

Раздел с проектами этого урока особенно важен: в нём рассказано, как составлять техническое задание (ТЗ) на проект. Отнеситесь к этим рекомендациям очень внимательно.

Без ТЗ на заводе не станут собирать автомобиль, а в софтверной фирме не станут собирать код программы.

— это подробное описание свойств создаваемого продукта.

ТЗ составляет человек или фирма, которые заказывают продукт ( Заказчик ). ТЗ передаётся человеку или фирме, которые создают продукт ( Исполнитель ).

ТЗ необходимо, как для Исполнителя (он создаёт продукт, руководствуясь ТЗ ), так и для Заказчика (он начинает лучше понимать, что ему нужно).

Если фирма или человек заняты разработкой новых продуктов (не на заказ), то они составляют техническое задание сами для себя — ТЗ позволяет уточнить поставленные цели, определиться со свойствами продукта, в том числе, с интерфейсом и дизайном.

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

— Почему ТЗ так важно? — спросил Лисёнок у своего учителя.

— Потому, — отвечал Кукарача , — что ТЗ , как математика, ум в порядок приводит и словно нить Ариадны ведёт программиста к заветному результату!

Как составлять ТЗ описано на страничке с проектами к этому уроку.

Как остановить работу скриптов

Задача 5 . Музыкальный лев ( 3 кука ). Лев живёт в пустыне и очень любит слушать музыку. Соберите программу, которая запускает 3 музыкальных эпизода по описанным ниже правилам.

Эпизод Запуск Описание
Начальный Зелёный флажок и клавиша 0 Лев в 1-ом костюме, уменьшенный на половину (т. е. на 50%), слушает музыкальный фрагмент garden
Первый Клавиша 1 Лев во 2-ом костюме, в исходных размерах, слушает музыкальный фрагмент drum machine
Второй Клавиша 2 Лев в 1-ом костюме, в исходных размерах, слушает музыкальный фрагмент dance snare beat

Таким образом, при запуске программы зелёным флажком Лев слушает начальную мелодию ( garden ). Клавиши 1, 2 и 0 переключают эпизоды. На видео показано, как работает программа при цепочке нажатий: флажок–1–2–0 .

Видео проекта можно посмотреть по адресу: video/01/unit02/lion.mp4

Решение . Исполнитель будет реагировать на 4 события: флажок и клавиши 1, 2, 0. Для каждого события нужен отдельный скрипт. Запишем, что должны делать эти скрипты.

Проблема состоит в том,что healthBar это UI объект (слайдер) и он перекрывает спрайт летящего самолета.

Можно ли сделать так,чтобы спрайт отображался поверх healthBar'a либо исчезал со сцены на время их пересечения?

Был бы благодарен за наводку на способ отображения healthBar'a через спрайт без использования UI :)

картинка



1 ответ 1

Если вы посмотрите на компонент SpriteRenderer то увидите там такие поля как Sorting Layer и Order In Layer. Первое отвечает за слой отрисовки, второе - за порядок внутри слоя.

Такие же поля вы можете найти на компоненте Canvas, который используется в UI. Меняя значения в этих полях вы можете настроить что и над чем будет располагаться (то, что рисуется позже - будет перекрывать то, что нарисовалось раньше).

Если потребуется, чтобы весь интерфейс был на одном слое, а некоторые его элементы на другом - можно добавлять дополнительные Canvas внутри вашего UI, ставить у них флаг override sorting и выставлять нужные значения.

Не забывайте добавлять к новым Canvas компонент Graphic Raycaster, если вам требуется, чтобы компоненты UI внутри этого Canvas были кликабельны.

Как мне сделать такую функцию:
Объект А при столкновении со стеной1 полностью останавливался, не застревал, и спокойно проходил сквось стену2.
Объект Б при столкновении со стеной2 полностью останавливался, не застревал, и спокойно проходил сквось стену1.

Другими словами:
Для объекта А стена1 ТВЕРДАЯ, стена2 МЯГКАЯ.
Для объекта Б стена2 ТВЕРДАЯ, стена1 МЯГКАЯ.


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

Противоположные функции объекту Б.

У меня получается только сделать остановку объектов.
Вот пример:
Пример
Кто не понял вопроса? Пишите.


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

В этом блоке преподаватель научит ребенка или подростка создавать в Scratch короткие мультфильмы на примере встречи двух спрайтов — Эвери и Дэвина. На индивидуальном занятии ученик разберется:

  • что такое система координат в Scratch;
  • как создать скрипт движения спрайтов;
  • как закодировать диалог между спрайтами;
  • что такое слои.

На уроках модуля №3 ученик курса по программированию для детей научится создавать в Scratch игры-лабиринты. В ходе занятия он пройдет 6 этапов:

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

В этом блоке курса программирования для детей на Scratch школьник сможет разработать игру для двоих. На занятии с репетитором он:

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

Задание этого урока поможет ребенку или подростку создать в Scratch игру, в которой внедорожник должен ехать по трассе и обходить препятствия. Он узнает, как:

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

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

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

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

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

Программа курса программирования для детей на Scratch

Качество проверено государством

Сколько стоят занятия по программированию

Ответы на частые вопросы

На вводном уроке ученик больше узнает о Skysmart и платформах, с которыми он будет работать на курсе программирования для детей — Scratch, Construct 3, Notepad++ и т. д. Чтобы составить индивидуальную программу курса, преподаватель пообщается со школьником и попросит его пройти тест на уровень подготовки. После этого можно будет задать вопросы по программе обучения.

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

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

Да. IT и игровая индустрия — одни из самых быстрорастущих в наши дни. Специалисты с профильным образованием в этих сферах высоко ценятся на рынке труда по всему миру.

Ученик может сдвинуть запись на другой день или время, но для этого нужно предупредить учителя курса по программированию для детей за 8 часов до урока.

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

На вводном уроке ученик больше узнает о Skysmart и платформах, с которыми он будет работать на курсе программирования для детей — Scratch, Construct 3, Notepad++ и т. д. Чтобы составить индивидуальную программу курса, преподаватель пообщается со школьником и попросит его пройти тест на уровень подготовки. После этого можно будет задать вопросы по программе обучения.

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

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

Да. IT и игровая индустрия — одни из самых быстрорастущих в наши дни. Специалисты с профильным образованием в этих сферах высоко ценятся на рынке труда по всему миру.

Ученик может сдвинуть запись на другой день или время, но для этого нужно предупредить учителя курса по программированию для детей за 8 часов до урока.

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

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