Меню
Видеоучебник

Навигация в среде Scratch

Урок 5. Творческие задания в Sсratch 5-6 классы

Из этого видеоурока ученики узнают, как спрайты ориентируются на сцене Scratch, по какой точке определяются координаты спрайта и как, ориентируясь по координатам, можно переместить спрайт в нужную точку сцены. Также ученики составят несколько скриптов для рисования фигур, ориентируясь на координаты.
Плеер: YouTube Вконтакте

Конспект урока "Навигация в среде Scratch"

Вопросы:

·     Координаты объекта на сцене.

·     Изменение координат при выполнении действий.

Разберёмся с тем, что такое навигация. Возможно, для кого-то из вас это слово связано с морем и кораблями. Вначале так и было. Слово «навигация» произошло от латинского «navigo», что в переводе на русский язык означает «плыву на судне». Изначально навигация была наукой о мореплавании и прокладывании морских маршрутов. Однако сейчас маршруты требуются для передвижения на чём угодно: автомобиле, самолёте или даже космическом корабле. Сейчас навигацией называются методы управления любыми движущимися объектами. Так как спрайты в Scratch могут двигаться, значит для них тоже нужна навигация.

Запустим среду Scratch. Наведём курсор мыши на сцену. Как видим, при его перемещении по сцене изменяются числа x и y, значения которых показаны под сценой.  Обратим внимание на значение x. Если курсор мыши находится в правой части сцены, то его значение положительное, а если в левой – отрицательное. Теперь обратим внимание на значение y. Если курсор мыши находится в верхней части сцены – его значение положительное, а если в нижней – отрицательное. Это соответствует тому, что мы узнали раньше о координатной плоскости.

Чтобы было понятно, как выглядит координатная плоскость сцены Scratch, выделим иконку сцены и перейдём на вкладку «Фоны». Загрузим новый фон сцены из библиотеки Scratch. Из категории «Прочее» выберем фон «xy-grid». У сцены изменился фон. Чтобы лучше его рассмотреть, спрячем спрайт Царапки. Для этого щёлкнем по его иконке в поле спрайтов правой кнопкой мыши и в появившемся меню выберем пункт «Спрятаться». Спрайт Царапки исчез со сцены.

Сейчас на сцене Scratch размещается её координатная плоскость. Посмотрев на неё, мы можем определить, в каких пределах изменяются координаты любого объекта на сцене. Координата x может принимать значение от -240 до 240, а координата y – от -180 до 180. Точка начала отсчёта находится в центре сцены.

Вернём Царапку на сцену. Для этого нажмём правой кнопкой мыши на иконке его спрайта в поле спрайтов и в появившемся меню выберем пункт «Показаться». Наверняка вы заметили, что при добавлении спрайтов на сцену, они появляются в центре сцены. Именно там сейчас находится Царапка. Как же определить координаты спрайта? Для этого необходимо перейти на вкладку «Скрипты». Обратим внимание на правый верхний угол рабочего поля Scratch. В нём находится уменьшенное полупрозрачное изображение спрайта, который сейчас выбран. В нашем случае это Царапка. А под изображением спрайта написаны его текущие координаты. Так как Царапка находится в середине сцены – это начало отсчёта, то есть точка с координатами ноль, ноль. Если мы перетащим Царапку в другое место сцены – эти координаты изменятся.

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

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

Возможно, кому-то из вас показалось, что оба эти блока работают одинаково. Сейчас это действительно так, однако вспомним одну из особенностей блока «Идти десять шагов», о которой мы узнали ранее. Для этого откроем окно с информацией о спрайте Царапки и обратим внимание на его направление. Сейчас Царапка направлен на 90 градусов. Изменим это, установив любое другое направление. Теперь снова сравним исполнение блоков, находящихся в рабочем поле. Начнём с блока «Изменить x на 10». Этот блок выполняется так же, как и раньше. Спрайт перемещается на десять шагов правее.  Запустим блок «Идти 10 шагов». Теперь положение Царапки на сцене изменяется иначе. Так происходит, потому что исполнение блока «Идти 10 шагов» зависит от направления спрайта, ведь спрайт двигается в указанном направлении. Исполнение блока «Изменить x на 10» не зависит от направления спрайта. Снова установим направление Царапки на 90 градусов.

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

Очистим рабочее поле. Для этого удалим все блоки команд, которые в нём находятся. Рассмотрим ещё несколько блоков, которые отвечают за навигацию спрайтов на сцене. Найдём блоки «Установить x в ноль» и «Установить y в ноль» и перетащим оба блока в рабочее поле. Первый блок позволяет установить спрайт на нужный уровень по оси x. Введём в его поле ввода число -20 и запустим блок на выполнение. Положение Царапки на сцене изменилось. Его координата x стала равной -20.

Блок «Установить y в…» позволяет установить необходимый уровень спрайта по оси y. Введём в его поле ввода число 50 и запустим блок на выполнение. Координата н спрайта стала равной 50.

Ещё один навигационный блок «Перейти в…». Найдём его в категории «Движение» и перетащим в рабочее поле. Зададим в обоих его полях ввода 0, после чего запустим блок на выполнение. Спрайт переместился в центр сцены, то есть в точку (0; 0). Этот блок позволяет переместить спрайт в заданную точку сцены.

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

Задача: Задать Царапке скрипт, при исполнении которого, независимо от своего начального положения, Царапка изобразит в центре сцены квадрат со сторонами, направления которых совпадают с координатными осями и длиной стороны, равной 200. При этом нельзя использовать команды поворота спрайта.

Подумаем, как должен действовать Царапка, чтобы его изобразить. Для начала Царапка должен переместиться в начальную точку для рисования квадрата. Пусть это будет его левый верхний угол. Несложно посчитать, что эта точка будет находиться на половину длины стороны квадрата левее и на столько же выше начала отсчёта. Это точка с координатами (-100; 0). Дальше Царапка опустит перо и приступит к рисованию квадрата. Его можно рисовать двумя способами. Можно вычислить положение оставшихся трёх углов квадрата, а затем по очереди перемещать Царапку в каждую из этих точек. Однако можно поступить немного хитрее. Так как направления сторон квадрата должны соответствовать осям координат, для перемещения Царапки мы можем использовать блоки «Изменить x на…» и «Изменить y на…». Так и поступим.

Начнём создание скрипта. Для этого очистим рабочее поле. Вначале переместим Царапку в левый верхний угол квадрата. Для этого используем блок «Перейти в…» из категории «Движение». Мы вычислили, что Царапка должен переместиться в точку с координатами (-100; 100). Запишем соответствующие значения в полях ввода блока. Теперь добавим в скрипт блок «Опустить перо» из категории «Перо». Дальше мы должны нарисовать первую сторону квадрата. Пусть это будет верхняя сторона. Для этого добавим в скрипт блок «Изменить x на…». Сторона квадрата должна быть равна 200, то есть Царапка должен переместиться вправо именно на это расстояние, поэтому запишем в поле ввода блока число 200. Теперь изобразим правую сторону квадрата. Для этого Царапка должен переместиться на 200 единиц вниз. Для этого используем блок «Изменить y на…», в поле ввода которого укажем число -200, так как Царапка перемещается вниз. Для рисования оставшихся двух сторон Царапка точно так же должен переместиться сначала на -200 единиц по оси x, а затем на 200 единиц по оси y. После того, как мы закончили рисование, нужно поднять перо. Добавим соответствующий блок в конец скрипта. Создание скрипта завершено. Переместим Царапку в произвольное место сцены и запустим скрипт на выполнение. Царапка действительно изобразил заданный квадрат. Чтобы проверить работу скрипта для различных положений Царапки, добавим в начало скрипта блок «Очистить» из категории «Перо». Запустим скрипт ещё несколько раз для разных положений Царапки и убедимся, что он всё равно работает. Задача решена.

Мы узнали:

·     Cцена Scratch представляет собой координатную плоскость с началом отсчёта в центре.

·     Навигация спрайтов на сцене происходит с помощью различных блоков из категории «Движение».

2028

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт