Урок 2. Управление несколькими объектами

Тема: Введение в Scratch

Координаты

Когда окно Scratch только открылось, мы видим, что кот стоит в центре холста. Посмотрим теперь на его координаты x и у в ячейке свойств объекта. Там написано, что x: 0 и y: 0. Почему так? Если вспомнить приложение KTurtle, с помощью которого мы изучали язык Logo, то точка с координатами (0,0) должна быть в верхнем левом углу холста. Теперь придется забыть об этом. В Scratch начало системы координат - это центр холста. От центра вправо значение х увеличивается, влево — уменьшается (становится минусовым, отрицательным). Аналогично с осью y. По направлению вверх идут положительные значения, вниз — отрицательные. Чем дальше от центра, тем больше абсолютное значение числа. Переместите несколько раз кота по холсту и отметьте, как меняются значения x и y в ячейке свойств объекта.

Сцена

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

Объекты проекта в Scratch

Эта нижняя правая ячейка окна Scratch предназначена для работы с объектами текущего проекта. Здесь можно добавлять новые объекты и переключаться между теми, которые у нас уже имеются. У нас пока существуют только кот и сцена. Переключаться между ними можно, щелкая по ним левой кнопкой мыши. При этом меняется ячейка свойств объекта. Например, если щелкнуть по картинке Сцена, то ячейка свойств будет выглядеть так:

Свойства сцены

Теперь самое интересное. Мы хотим поменять фон холста. На вкладке фоны есть кнопка Импорт. Если ее нажать, появляется возможность добавить картинку, которая будет служить фоном холста. Нам нужна картинка xy-grid, на которой изображены оси координат. После этого следует снова переключиться на кота, щелкнув по его изображению в нижней ячейке третьего столбца окна Scratch и переключиться на вкладку скрипты. Добавьте фон для сцены, затем снова вернитесь на вкладку скрипты кота.

Повторение программы

Вспомним программу, которую мы составили на прошлом занятии. Снова составим ее, добавив лишь точные координаты начального положения кота с помощью команды идти в x: ... y: .... Эта команда установит объект в указанную точку. Пусть это будет точка с координатами (-220, -110), т.е. кот окажется внизу. Соберите такой скрипт:

Движение объекта

Не забудьте указать правильное направление поворота для кота с помощью соответствующей кнопки в ячейке свойств объекта.

Новые объекты

Теперь предположим, что на сцене у нас будет бегать помимо кота еще какая-нибудь живность. Как в Scratch добавить новые объекты? Следует нажать на вторую кнопку в ряде кнопок под холстом:

Добавление нового объекта

После чего перед нами открывается диалоговое окно, где из папок Animals (животные), Fantasy (фантазия), Letters (буквы), People (люди), Things (вещи) и Transportation (транспорт) можно выбрать любой объект. Давайте пока ограничимся только папкой Animals и добавим на холст какое-нибудь животное, птицу или насекомое. Сделайте это.

Объект добавляется в центре холста. Теперь дайте ему соответствующее имя в ячейке свойств объекта.

Хорошо бы, чтобы второй объект тоже как-нибудь двигался. Поскольку мы уже запрограммировали кота, то можно не составлять новый скрипт, а скопировать программу кота и перенести копию на новый объект. Делается это так. Переключаемся на кота ? щелкаем правой кнопкой по скрипту и в контекстном меню выбираем команду дублировать ? перемещаем курсор мыши с прилипшей к нему копией на иконку второго объекта в нижней правой ячейке (будьте внимательны: при этом вокруг иконки должна появиться серая рамка!) и щелкаем мышью.

Копирование скрипта

Теперь если переключиться на второй объект, то мы здесь увидим новый скрипт. Его следует немного подправить, чтобы кот и мышь (например) двигались по-разному:

Скрипт в Scratch

Сделайте это.

Добавим третий объект, но программу для него не будем копировать. Пусть третий объект стоит на месте в центре холста и всегда поворачивается ко второму объекту. Поскольку второй объект постоянно бегает по холсту, то и третий объект постоянно будет вертеться. Добавьте третий объект и соберите для него такой скрипт:

Команда слежения за объектом

Команда повернуться к ... заставляет объект, к которому она применяется поворачиваться в направлении того объекта, который выбран в раскрывающемся списке этой команды. Цикл всегда здесь также необходим. Иначе объект повернется только один раз в самом начале. Поскольку второй объект у нас постоянно двигается, то и следить за ним надо всегда.

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

Слои

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

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