Перейти к содержимому

Что такое скрипт в скретч

  • автор:

Скрипт

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

  • 1 Использование
  • 2 Структура
  • 3 Ошибки скрипта
  • 4 Фрагменты скрипта
  • 5 См. Также

Использование

Скрипты очень просто использовать в работе. Некоторые «правила» заключаются в следующем:

  • Чтобы создать скрипт, перетащите блоки из палитры блоков и соедините их.
  • Чтобы собрать блоки, перетащите их вверх, вниз или в другой блок (Разные блоки могут делать только некоторые из этих вещей.)
  • Чтобы разъединить блоки, раздвиньте их.
  • Чтобы удалить сркипт, его часть или блок, перетащите его в палитру блоков или щёлкните правой кнопкой мыши на верхний блок в части скрипта и выберите «Удалить блоки».
  • Чтобы запустить отдельный скрипт, просто нажмите на него.

Скрипты можно редактировать на вкладке скриптов каждого спрайта и сцены.

Структура

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

  • Блок шапка запускает скрипт. Его можно размещать только поверх блоков.
  • Обычный блок может размещаться в конце, вначале и в середине скрипта.
  • Закрывающий блок завершает скрипт. Его можно установить только в конец скрипта.
  • Блоки-репортёры и логичесике блоки сообщают значения, которые будут использоваться другими блоками. Они могут быть размещены только внутри других блоков и часто могут быть размещены внутри самих себя.
  • Различные блоки вышеуказанных типов могут содержать репортёры и/или логические блоки.

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

Ошибки скрипта

В этой статье или разделе описано то, чего нет в текущей версии Скретч (3.0). Это полезно только с исторической точки зрения.

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

Фрагменты скрипта

Фрагмент скрипта — это скрипт, который является «незавершенным», поскольку в нем отсутствует блок шапки. Фрагмент скрипта не запустится при нормальном выполнении проекта, потому что его ничто не запускает. Фрагмент скрипта можно запустить, щелкнув на него в редаткоре проекта. Они обычно используются для создания эскизов для возможности отображать спрайт, который не виден при обычном выполнении проекта. Фрагменты скриптов можно хранить в рюкзаке, и их можно легко перетащить под шляпу для запуска кода. Любые отдельные блоки без шапки в редакторе также являются фрагментами скрипта.

См. Также

Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.

  • Статьи о прошлом
  • Руководство

Вики работает в тёмной теме, и она включена! Есть советы? Отправьте их сюда: Тема форума о Скретч Вики

  • Эта страница в последний раз была отредактирована 12 марта 2023 в 12:10.
  • К этой странице обращались 643 раза.
  • Политика конфиденциальности
  • О Скретч Вики
  • Отказ от ответственности

Скрипт для скретч по прыжку на другой объект

Привет тебе мой юный друг! Сегодня я расскажу о том, как создать скретч прыжок одного спрайта на другой в среде разработки Scratch. Если ты следишь за моими публикациями, то знаешь как написать код для самого обычного прыжка. Если же ты впервые в этом блоге, то обязательно прочти первую часть — Scratch алгоритмы на примере проекта Ниндзя. В ней описаны простейшие движения, прыжки, исчезновения и подготовлена вся графика для мгновенного начала над проектом. Ну а знатоки Скретч программирования могут пропустить этот шаг и приступить к изучению простейшего скрипта запрыгивания на другие объекты.

img

ВНИМАНИЕ!
Разрабатывая бесплатный курс по детскому программированию в scratch 2 я подготовил 4 варианта прыжка для персонажа с кодом разного уровня сложности. Описание этой статьи относится к 3 уровню сложности. Более простые варианты запрограммирования прыжковых навыков объекта смотрите по ссылкам ниже:

  • Самый простой код для прыжка (1 уровень)
  • Запрыгнуть и кататься на объекте (2 уровень)
  • Прыжок с применением переменных (3 уровень)
  • Прыжок с переменной и цветом (4 уровень — эта статья)

Так же рекомендую ознакомиться с бесплатными уроками по Скретч 2 на другие тематики в разделе Детское программирование (перейти). Ну и конечно я буду очень благодарен за финансовую помощь! Ее вы можете оказать переводом на СберБанк Онлайн по телефону 8-977-915-25-76 или на Яндекс.Деньги по кнопке слева!

Программируем скретч прыжок по видео инструкции

Пишем код для прыжка на другой спрайт в Скретч

Перед началом работы загрузите фон и три спрайта или же нарисуйте спрайты в редакторе. О том, как рисовать персонажи и объекты в scratch читай в моем отдельном материале — Рисуем в редакторе Scratch (статья в стадии написания). В моем случае получилось так:

прыжок в скретч на другой спрайт

В представленном скрипте будет прыгать черный квадра. Вначале на 2 объект, а потом на 3 объект и наоборот. Начинаться код будет следующим образом:

начало скрипта кода по прыжку в скретч

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

ВНИМАНИЕ:
В Интернете много примеров прыжка с упором на цвет объектов. Если у вас не получилось реализовать прыжок за счет цвет, то этот материал поможет решить проблему. На моих уроках детского программирования дети часто допускают ошибки именно с кодировкой цветов, поэтому прыжок спрайта не касается этой темы совсем!

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

код прыжка в скретч

Разберем показанный выше код. При нажатии на кнопку W помещаем в переменную значение 15. Поменяйте этот параметр и посмотрите, что изменится в поведении спрайта! Далее меняет значение параметра У (вертикальное прямая в плоскости) и тем самым перемещаем спрайт вверх. Помните, что все это делается под циклом: Повторять всегда ! Теперь дорабатываем скрипт для плавного движения объекта вниз и тут же указываем условие до какой степени осуществлять спуск. В примере вторая стадия прыжка будет выполняться до контакта с одним из указанных спрайтов. Поиграйтесь с значением -1 (этот параметр должен быть всегда отрицательным) и посмотрите, как изменится поведение спрайта!

На этом прыжковый урок закончен, но не завершена работа юного программиста. Домашним заданием будет доработка скрипта:

  • написать код для движения вправо и влево
  • какой глюк в таком прыжке есть и как его исправить
  • требуется ли добавить дополнительный блок условия при движении вправо-влево
  • если требуется, то какой

В качестве шпаргалки выкладываю пример полного кода для прыжка спрайта в Scratch:

полный код прыжка в scratch

Дополнительные полезные материалы по детскому программированию:
  1. Простейшая первая игра на скретч: Едущая машинка
  2. Начальные примеры мультипликации
  3. Некоторые базовые алгоритмы движения спрайтов в играх на scratch
  4. Прыгаем в вверх без запрыгивания на другие объекты
  5. Игры для смартфона на App Inventor
  6. Проекты по Lego WeDo (первого поколения)

Что такое скрипт в скретч

Шпынева Светлана Михайловна, учитель информатики МАОУ «Центр Образования №13 имени Героя Советского Союза Н.А. Кузнецова» г.Тамбова

Цель: Отработать навыки и технологию использования команды, группы команд как строительных элементов скрипта среды Scratch; отработать навыки использования команд Верхнего меню «Редактирование» и интерактивного меню закладки «Скрипт»; отработать навыки дублирования и удаления команд и блоков команд, перехода от одного блока команд к другому; отработать действия по пошаговому выполнению скрипта; изучить действие команд блока ВНЕШНОСТЬ «изменить эффект (цвет)» и пары команд «сказать …» и «говорить … в течение …» — выявить их отличие; научиться получать новый костюм копированием с экрана действий, экспортировать костюм объекта и удаления костюма. Создать проблемную ситуацию, приводящую к выводу о необходимости циклов.

Задание 1: Составить скрипт из одной команды блока ДВИЖЕНИЕ, запустить, присоединить стартовую команду, вставить команды блока ВНЕШНОСТЬ, с помощью интерактивного меню дублировать, удалять, группы команд, по одной команде; установить пошаговое выполнение команд; удалить команды перетаскиванием в область команд, использовать верхнее меню для отмены удаления; пронаблюдать процесс неоднократного повторения выполнения скрипта. Сделать выводы относительно работы с группой команд скрипта и одной командой, работы команд «сказать…» и «говорить…», относительно изменения цвета и повтора действий для нескольких цветовых переходов – можно ли освободить себя от многократного повторения запуска скрипта, но при этом повторять изменение цвета объекта.

Ход работы 1:

1) ДЩЛКМ по ярлыку Scratch на Рабочем столе запустить среду Scratch.

2) Для каждого нового объекта по умолчанию активен блок ДВИЖЕНИЕ (высвечивается синим цветом вся его кнопка, и загружены команды этого блока).

Зажмем левой кнопкой мышки (ЛКМ) первую команду «иди 10 шагов» и перетащим ее в область закладок в закладку СКРИПТЫ (она так же активна по умолчанию).

4) Элементарная программка готова.

5) Запустим ее двойным ЩЛКМ (ДЩЛКМ) по ней – Кот продвинулся вперед к правому краю экрана.

6) В верхнем меню в пункте «Редактировать» выберем «начать пошаговое выполнение».

7) Еще раз запускаем программу ДЩЛКМ по команде. Теперь в процессе ее выполнения она подсвечивается белым контуром:

8) Рассмотренным способом запуска программ невозможно запустить скрипты сразу нескольких объектов или запустить просмотр действия даже этой одной команды в режиме презентации.

9) Поэтому начинают скрипт стартовой командой: блока КОНТРОЛЬ.

10) ЩЛКМ по блоку КОНТРОЛЬ. Из области его команд перетащим в закладку СКРИПТЫ эту команду, присоединив к верхней части команды «иди 10 шагов»:

11) ЩЛКМ по блоку ВНЕШНОСТЬ и из области его команд перетащим в закладку СКРИПТЫ команду «сказать: ‘Привет!’» (можно этот текст заменить на любой другой), присоединив к нижней части команды «иди 10 шагов»:

При перемещении команды в область скриптов появляется белая полоса, подсказывающая, куда прилепится команда, если ее отпустить.

12) Так же присоединим команду «изменить цвет … »:

13) Запускаем – видим на экране изменившего цвет Кота, говорящего «Привет!»:

14) Чтобы перетаскивать не одну, а сразу группу команд, «ухватываемся» за верхнюю команду этой группы и перетаскиваем (например, «разрываем» скрипт).

15) ЩПКМ по верхней части этой группы команд выдает интерактивное меню: помощь, дублировать, удалить.

ЩПКМ в нижней части этой группы команд выдает интерактивное меню: помощь, дублировать.

16) Если в верхнем меню в пункте «Редактировать» выбрать «установить единичный шаг…» и в следующем открывающемся окне СКОРОСТЬ ШАГА выбрать «Мигание блоков (медленно)»:

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

17) Ухватимся за верхнюю часть группы и присоединим ее обратно к стартовой команде.

18) Дублируем скрипт.

ЩПКМ по верхней части скрипта и выбираем «дублировать»:

, а затем удаляем дубль перетаскиванием его в область команд, зажав ЛКМ так же за верх.

19) ЩПКМ по последней команде дублируем только одну эту команду:

20) А теперь ее удаляем, зажав ЛКМ и перетащив в область команд:

21) Чтобы удалить средние команды группы или последнюю, надо «разорвать» (движением вниз) эту группу, оставив отдельно удаляемые команды, и удалить их с помощью интерактивного меню в верхней части или перетаскиванием их в область команд, не зависимо от того, какой блок команд открыт.

22) Для отмены удаления в верхнем меню в пункте Редактировать выбираем «Отменить удаление» и сразу на курсор «прикрепляются» удаленные команды:

23) Присоединяем их к стартовой команде:

24) Удаляем «изменить цвет»:

25) Отменяем удаление.

26) Присоединяем возвращенную команду к стартовой команде:

27) Изучаем пошаговое выполнение.

Запускаем программу. Теперь наш Кот не перемещается, а только при каждом запуске программы меняет цвет на новый:

28) Перетаскиваем и присоединяем команду «говорить: «Привет!» 2 секунды».

29) Запускаем программу.

30) Работает команда изменить цвет:

Команда выполняется на экране действий сразу при переходе указателя пошагового выполнения команд. Если команда «потухла», значит она выполнена (выполнено действие на экране действий).

31) «Потухла» команда «изменить цвет …» – Кот сменил цвет на экране действий (а также на ярлыках в области меню объектов проекта и в области закладок (см. на рис. п.32), а указатель перешел к следующей команде).

32) Указатель на команде «говорить «Привет!» 2 секунд». Надпись сказанного «висит» на экране заданное время и лишь затем исчезает.

33) Отработала команда «говорить …» – исчезла надпись с экрана. Программа (скрипт) выполнена, т.к. закончились все команды. Текущее состояние экрана:

34) Запустим ещё раз скрипт и пронаблюдаем всё ещё раз поэтапно:

35)

36)

37) Программа выполнена:

38) Запустим ещё раз:

Сделаем выводы:

  • Интерактивное меню скрипта для верхней и нижней частей группы команд отличается (у верхнего есть «удалить», у нижнего – нет).
  • Чтобы работать с группой команд, вызываем «верхнее» интерактивное меню, «зажимаем» ЛКМ в верхней части группы и перетаскиваем группу команд.
  • Чтобы работать с одной командой – отсоединяем ее от скрипта снизу и используем «нижнее» интерактивное меню, если эта команда последняя, если нет – отделяем ее «разрыванием» скрипта.
  • У команды «сказать …» на экране действий сказанное остается до и после выполнения программы (скрипта), а у «говорить…» находится на экране только заданное время и исчезает.
  • Эффект изменения цвета начинает работать от текущего цвета объекта, а не от начального.
  • Неоднократный повтор выполнения одних и тех же команд (изменения цвета и «говорить…») неудобно выполнять вручную – нужны команды, позволяющие выполнять повтор действий автоматически!

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

Ход работы 2:

1) Войти в закладку «Костюмы». У Кота два костюма. Перейти к Костюму2 и нажать на кнопку Копировать.

2) В Костюме3 нажать Редактировать и в появившемся окне встроенного графического редактора изменить внешность, залив глаза розовым градиентом, нарисовать улыбку, усы, щетину.

3) Для дальнейшего использования этого объекта в других проектах экспортировать Костюм 3 в библиотеку картинок среды. Нажать ПКМ по значку отредактированного Костюма 3 и выбрать «Экспортировать этот костюм» и ЩЛКМ.

4) В появившемся окне выбрать папку Animals и вписать в окно Новое имя файла cat1-c:

5) Составим скрипт, анимирующий объект с помощью смены его костюмов в соответствии с условием задания. Костюм1– исходная позиция шагов анимации, значит чтобы перейти к Костюму2 надо вставить команду «следующий костюм», к Костюму3 – еще раз вставить эту команду, ну и еще одна такая команда вернет объект в исходное положение, т.е. к Костюму1. Таким образом, мы должны соединить в скрипт 3 команды «следующий костюм».

6) Запустим скрипт на выполнение.

Смена костюмов происходит очень быстро – неуловимо для человеческого глаза.

Что мы делаем, если не успеваем рассмотреть действия на видео при ускоренной перемотке с выбранной скоростью?

(Уменьшаем скорость – задерживаем движение на заданное время.)

Сделаем выводы:

Нам нужна задержка времени после каждой команды смены костюма, чтобы глаз успел зафиксировать предыдущий костюм и появление нового. Такую задержку позволяет осуществить команда «ждать … секунд» блока КОНТРОЛЬ.

7) Перейдем к блоку КОНТРОЛЬ и вставим команду «ждать 0,5 секунд» (такое время выбрано, чтобы не было сильной заторможенности движений). Так как первый костюм (Костюм1) уже установлен, то скрипт начнется с команды «ждать…», а не со «смены костюма»:

Сколько раз и какие команды повторяются?

(У нас 3 раза повторяются две команды: «ждать 0,5секунд» и «следующий костюм».) Здесь так же нужны команды, позволяющие выполнять повтор действий

Сделаем вывод: Необходимы команды ПОВТОРА.

В данном случае известно количество повторов (три).

На следующем уроке мы познакомимся со всеми этими командами и исправим наш скрипт с их помощью. А сейчас:

8) Перейти в режим презентации и запустить выполнение проекта.

9) Вернуться из режима презентации, нажав на кнопку в верхнем левом углу окна: .

10) Сохраним проект под именем Улыбка в папку Мои проекты.

Дополнительно: Добавить команду блока ВНЕШНОСТЬ «говорить «Я умею ходить. », когда Кот улыбается, команду блока ДВИЖЕНИЕ «иди 5 шагов» после каждой смены костюма, чтобы объект шагал не на месте, и другие команды по своему усмотрению.

Последовательное и одновременное выполнение скриптов

В прошлых уроках мы соединяли блоки команд в конструкции, которые можно называть маленькими программками. Также их можно назвать скриптами. В одном проекте может быть множество скриптов. Например, если есть два героя-спрайта, вероятно у каждого будет свой скрипт, своя маленькая программа. А весь проект – это большая общая программа, состоящая из множества мелких.

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

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

Более того, один и тот же спрайт может содержать два независимых скрипта, каждый из которых будет выполняться в своем потоке. Рассмотрим пример. Пусть кот ходит по сцене и при этом меняет свой костюм.

Два скрипта у одно спрайта

В Scratch многие спрайты на самом деле состоят не из одного изображения, а из нескольких. Это можно увидеть на вкладке «Костюмы».

Костюмы спрайта

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

В приведенном выше примере блоков кода оба скрипта будут выполняться одновременно. Мы увидим, что кот не только перемещается, но еще двигает ногами. Этот эффект возникает от того, что изображения-костюмы быстро меняются.

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

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

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

Вы спросите, почему нельзя было вставить команду «следующий костюм» в цикл первого скрипта и вовсе отказаться от второго? На самом деле можно. Однако в этом случае кот начнет менять костюмы так часто, что у вас зарябит в глазах. Тогда почему бы сюда же не добавить команду «ждать … секунд»? Потому что в этом случае, кот будет останавливаться, и плавного движения не получиться. Движение будет урывистым, перед каждой сменой костюма будет возникать задержка.

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

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

Давайте рассмотрим вариант передачи сообщения, когда один скрипт вызывает другой. Пусть у нас будет два спрайта – кот и собака. Сначала кот ходит по сцене. И только когда он останавливается и исчезает, на сцене появляется собака и начинает ходить.

Поскольку при запуске игры один из спрайтов должен быть видимым, а другой невидимым, воспользуемся командами «показаться» и «спрятаться». Вынесем их в отдельные скрипты, чтобы они не мешались в основной логике игры.

Блок передачи сообщения

Теперь когда кот выполнит свою порцию шагов, с помощью блока «передать сообщение1» он пошлет сообщение, которое может перехватить любой объект программы. В данном случае сообщение будет ждать только собака, потому что только ей мы добавили команду «когда я получу сообщение1».

И как только она получит сообщение, она покажется и начнет ходить.

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

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

Чтобы добавить новое сообщение, надо кликнуть по маленькому треугольнику в этих командах и в раскрывающемся списке выбрать «Новое сообщение».

Создание нового сообщения

После этого на экране появится диалоговое окно, куда вводится сообщение. Например, «кот вызывает собаку».

Когда сообщение создано, оно становится доступным через раскрывающийся список команд «передать …» и «когда я получу …», где вместо точек может стоять любое сообщение.

При этом надо понимать, что если, например, кот передает сообщение «кот вызывает собаку», то собака должна получать именно это сообщение, а не какое-либо другое. Иначе она не будет реагировать.

Составьте программу по следующему описанию:

  1. Кот недолго ходит по сцене, потом останавливается, но не исчезает.
  2. Появляется второй спрайт и тоже недолго ходит по сцене.
  3. Когда второй спрайт останавливается, кот снова начинает недолго ходить по сцене.
  4. Когда кот останавливается во второй раз, на сцене появляется третий недолго бегающий спрайт.

При выполнении задания также воспользуйтесь блоком «передать сообщение и ждать до конца». Эта команда останавливает текущий скрипт до тех пор, пока не выполнится скрипт, который получает сообщение.

X Скрыть Наверх

Программирование в Scratch. Курс

Добавить комментарий

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