АНИМАЦИЯ И ПРОГРАММИРОВАНИЕ В СРЕДЕ SCRATCH
![](https://www.internauka.org/media/cache/resize_crop/rc/aK3nkYZr/sites/default/files/cover/journal-22%28198%29.png)
АНИМАЦИЯ И ПРОГРАММИРОВАНИЕ В СРЕДЕ SCRATCH
Абдушукуров Фазихуддин Абдурахимович
преподаватель Технического института Ёджу в городе Ташкенте, Узбекистан, г. Ташкент
Scratch – это программа, точнее среда визуализации и программирования, которая позволяет юзерам формировать диалоговые, мультимедийные проекты. С поддержкой Scratch общество сформировали большое число проектов, мультипликационных рассказов, различных видов развлекательных игр, новостных интернет-шоу, открытки приветствия, видеоклипы, научные проекты, обучающее пособия, симуляторы, музыкальные проекты и многое другое (рис. 1).
Программное обеспечение Scratch применяется с целью формирования проектов, включающих в себе технологии мультимедии, а также различных скриптов. В Scratch можно создавать или же импортировать различные изображения и аудио с поддержкой интегрированного инструмента рисования и записи аудио. Программирование в Scratch осуществляется путем объединения различных командных блоков для управления двумерными объектами, именуемыми спрайтами, которые перемещаются в фоне, называемой сценой. Проекты можно сохранять в самой системе или публиковать их на веб-сайте Scratch[1].
Рисунок 1. Различные Скрэтч проекты
Уникальный дизайн Scratch был разработан и дополнен всеми необходимостями также интересами молодежи, возраст которых от 8 до 16-17 лет в внешкольных компьютерных центрах. Скретч прибавил программируемость к деятельности, что востребована в молодежной культуре, также вдохновляла молодежь обучаться посредством изучения и обмена опытом.
Создание проекта Scratch возник в 2003 г., но программное обеспечение а также веб-сайт Scratch были официально запущены в 2007 г.. Scratch бесплатен, доступен практически в Пятьдесят языках, и с веб-сайта Scratch было загружено больше 2-ух млн. раз. Помимо этого, программное обеспечение Scratch зачастую распространяется школьными и образовательными системами.
Чтобы помочь пользователям сделать свои проекты привлекательными, мотивирующими и значимыми, Scratch позволяет легко импортировать или создавать многие виды мультимедии (изображения, звуки, музыка). Веб-сайт Scratch обеспечивает социальный контекст для пользователей Scratch, позволяя пользователям делиться своими проектами Scratch, получать отзывы и поддержку от своих коллег, а также учиться на других проектах.
Ключевая цель Scratch - познакомить с программированием тех, кто не имеет опыта программирования. Эта цель повлияла на многие аспекты дизайна Scratch. Некоторые дизайнерские решения очевидны, например, выбор языка визуальных блоков, однооконная структура пользовательского интерфейса и минимальный набор команд. Другие менее очевидны, например, как целевая аудитория повлияла на систему типов и подход к обработке ошибок. В этой статье рассматриваются аспекты среды программирования Scratch и языковой дизайн, которые упрощают молодым людям изучение, самовыражение и обучение[2].
Многие пользователи изучают Scratch на ходу, пробуя команды из палитры или исследуя код из существующих проектов. Чтобы способствовать такому самостоятельному обучению, среда программирования Scratch была разработана так, чтобы предлагать сценарии, обеспечивать немедленную обратную связь для выполнения сценария и делать выполнение и данные видимыми.
Пользовательский интерфейс «единого окна» Пользовательский интерфейс Scratch призван упростить навигацию. Он использует однооконный и многопанельный дизайн, чтобы ключевые компоненты всегда были видны. Scratch позволяет избежать плавающих палитр, которые могут быть захоронены, и сводит к минимуму использование панелей, которые отображаются только по запросу.
На рисунке 2 показано временное окно с четырьмя основными панелями. Левая панель - это палитра команд с кнопками для выбора категорий. На средней панели показаны сценарии для текущего выбранного спрайта с вкладками папок для просмотра и редактирования костюмов (изображений) и звуков, принадлежащих этому спрайту. Большая панель в правом верхнем углу - это сцена, на которой происходит действие. В правом нижнем углу отображаются эскизы всех спрайтов в проекте с выделенным в данный момент спрайтом.
Рисунок 2. Пользовательский интерфейс
Палитра команд всегда видна для добавления скриптов. Команды разделены на восемь категорий, таких как «Движение», «Внешний вид», «Звук» и «Управление». Это позволяет избежать длинных, потенциально ошеломляющих списков команд: в большинстве палитр все команды можно просматривать без прокрутки. В каждой категории наиболее понятные и полезные команды отображаются в верхней части палитры команд. Командные блоки имеют цветовую маркировку по категориям, что помогает пользователям находить связанные блоки.
Пользователи могут щелкнуть команду или фрагмент программы в любое время, чтобы увидеть, что она делает. Фактически, они даже могут изменять параметры или добавлять блоки в скрипт во время его работы. Устраняя потенциально раздражающие переключатели режимов и паузы компиляции, Scratch помогает пользователям оставаться вовлеченными в тестирование, отладку и улучшение своих проектов. Мы говорим, что в Scratch можно повозиться, потому что он позволяет пользователям экспериментировать с командами и фрагментами кода, как с механическими или электронными компонентами.
Tinkerability помогает пользователям раскрыть функциональность блоков. Блок можно проверить, щелкнув по нему, даже в палитре. Функциональные блоки показывают свое возвращаемое значение в виде мультяшного «пузыря» (рис. 3). Чтобы помочь пользователям более легко изучить, что делают блоки, каждый блок поставляется с параметрами по умолчанию, которые дают наглядную демонстрацию того, что делает этот блок. В Scratch есть справочные экраны для каждой команды, доступные через меню правой кнопки, но многие пользователи узнают о командах, просто попробовав их.
Scratch не требует, чтобы пользователь создавал полные сценарии перед запуском проектов. Фрагменты программы можно оставить в панели сценариев и сохранить вместе с проектом. Такие фрагменты играют роль, аналогичную закомментированному коду на текстовом языке. При поиске и устранении неисправностей длинный сценарий можно разбить на части, и каждый из них будет протестирован независимо.
Рисунок 3. Блоки в Скрэт
Scratch обеспечивает визуальную обратную связь, чтобы показать выполнение сценария. Когда скрипт запущен, он окружен светящейся белой рамкой. Эта обратная связь помогает пользователю понять, когда запускаются сценарии и как долго они работают. Если сценарий обнаруживает ошибку (например, деление на ноль), граница становится красной, а блок, вызвавший ошибку, выделяется красным цветом.
Scratch также может показать последовательность команд и поток управления. Включение пошагового режима (выбирается из меню) заставляет блоки мигать при запуске. Даже если пошаговый режим не включен, Scratch обновляет дисплей после каждой команды. Наблюдение за эффектом каждой команды, даже если это всего лишь краткая вспышка на экране, дает важные визуальные подсказки при устранении неполадок.
Scratch стремится минимизировать количество командных блоков, при этом поддерживая широкий спектр типов проектов. Кто-то может возразить, что гибкость, удобство программиста и дополнительные функции важнее небольшого набора команд. Однако в Scratch, в отличие от текстового языка, каждая команда занимает пространство экрана в палитрах команд, поэтому увеличение набора команд требует более высоких затрат. Добавление дополнительных команд требует либо добавления дополнительных категорий, либо вынуждает пользователя прокручивать страницу вниз, чтобы увидеть все команды в данной категории. В любом случае, более крупный набор команд затрудняет поиск данной команды на палитрах.
В Scratch 1.0 было 92 командных блока. По мере развития Scratch велась постоянная борьба за сокращение количества команд. Каждый выпуск добавляет новые функции и новые команды. Иногда команда отзывается. (Удаленные команды, называемые устаревшими блоками, по-прежнему поддерживаются системой выполнения, что позволяет запускать старые проекты.) Однако больше команд было добавлено, чем удалено. Scratch 1.4 имеет 125 командных блоков, хотя некоторые из них не появляются до тех пор, пока они не понадобятся и т.д..
Одна из стратегий уменьшения количества командных блоков состоит в том, чтобы сгруппировать набор связанных операций в один блок с раскрывающимся меню для выбора конкретной операции. Примеры этого метода включают функциональный блок научных математических функций (дюжина математических функций) и блоки эффектов изображения (семь эффектов изображения), оба из которых изначально были коллекциями отдельных блоков[3].
Скретч-скрипты создаются путем соединения блоков, представляющих операторы, выражения и управляющие структуры. Форма блоков подсказывает, как они сочетаются друг с другом, а система перетаскивания отказывается соединять блоки бессмысленными способами. В Scratch визуальная грамматика форм блоков и их правила комбинирования играют роль синтаксиса в текстовом языке. Когда командные блоки соединяются вместе для создания последовательности команд или стека, выемки и выступы совпадают как кусочки пазла[4].
Блоки структуры управления представляют собой своего рода командный блок с одной или несколькими вложенными последовательностями команд. Форма блоков структуры управления упрощает их использование. В Scratch блок структуры управления является неделимой единицей. Закрывающее плечо цикла или условного блока является частью самого блока - его нельзя потерять, и вложенность вложенной последовательности команд очевидна.
3.2 Типы данных
Scratch имеет три первоклассных типа данных: логические, числовые и строковые. Это единственные типы данных, которые можно использовать в выражениях, хранить в переменных или возвращать встроенными функциями. На визуальном языке Scratch форма слота параметра указывает ожидаемый тип данных, а форма функционального блока указывает возвращаемый тип. Редактор Scratch позволяет вставлять функциональный блок в слот параметра только в том случае, если результат не нарушает ограничения ввода данных.
Список литературы:
- А. С. Путина SCRATCH 2.0: От новичка к продвинутому пользователью под ред. В. В. Тарапаты. — М.: Лаборатория знаний, 2019. — 87 с.
- AL Sweigart. SCRATCH PROGRAMMING PLAYGROUND. Москва. Эксмо, 2017. 304 с.
- Russel Barnes. Code Club Book of Scratch (Volume): 1. Raspberry Pi Press (December 10, 2018) 112 p.
- Majed Marji. Learn to Program with Scratch. 2014. 288 p.