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

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

Одновременное выполнение скриптов (программ)

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

При всем этом в Scratch можно сделать Последовательное выполнение скриптов (программ) так, что скрипты будут производиться поочередно. Примером этого послужит, к примеру скрипт пуска ракеты в космос.

Но поначалу давайте вспомним.

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

- Что произойдет с ракетой, если Y будет со знаком «минус»?

Пусть наша ракета совершает полет с Луны. Выберем фон и Последовательное выполнение скриптов (программ) спрайт ракеты. Это мы уже отлично умеем делать.

Зададим стартовое место ракете при помощи такового спрайта.

- Какая новенькая команда у нас появилась? Что она обозначает?

Сейчас зададим ракете линию движения полета. Помним, что при движении ввысь координата X неизменна, изменяется только координата Y.

- Необходимо ли тогда упоминать в Последовательное выполнение скриптов (программ) программке про X?

- Какая новенькая команда у нас появилась?

- Что она обозначает?

Запустим сейчас ракету. Другими словами выполним Поочередно деяния: пуск с помощью нажатия на флаг, и 2-ое действие производится при нажатии на кнопку «пробел». Мы узрели наглядно Последовательное выполнение действий 1-го объекта при использовании 2-ух команд.

Сохраним нашу Ракету в Последовательное выполнение скриптов (программ) копилку собственных программ.

Сейчас закрепим наши познания и запустим в полет самолет.

- По какой линии движения летит самолет, когда наберет высоту: ввысь как ракета либо горизонтально?

- Какую координату мы будем поменять, чтоб самолет летел горизонтально?

- 100 либо минус 100 будет обозначать X при движении самолета на право? А Последовательное выполнение скриптов (программ) на лево?

Итак избираем фон и самолет, как мы уже умеем.

Задаем высоту самолету с помощью последующего спрайта.

И сейчас программка полета.

- Какой командой задается полет самолета?

Полетаем самолетом, побороздим просторы нашего небосвода.

Сохраним программку Самолета в копилку.

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

Поочередные деяния в Scratch могут запускаться и одной командой Последовательное выполнение скриптов (программ) и сходу для нескольких объектов.

При поочередном выполнении скриптов поначалу все деяния должен совершать один объект, потом 2-ой и т.д. Как это можно сделать в Scratch?

К примеру, можно просто использовать команду ожидать сначала скрипта второго объекта. Но по сути это будет никакое не последовательное выполнение скриптов, т Последовательное выполнение скриптов (программ).к. оба они начнут работать сразу, просто у второго объекта поначалу будет длительно работать команда ожидать. Хотя на сцене можно таким макаром получить хотимый эффект: поначалу деяния будет совершать один объект, а через некое время - другой.

Разглядим, более грамотный метод организации поочередного выполнения скриптов. Когда один объект Последовательное выполнение скриптов (программ) завершает выполнение ряда собственных команд, он должен подать какой-либо сигнал-сообщение второму объекту, а тот, в свою очередь, должен его принять. В Scratch для этого есть две особые команды, связанные с кнопкой событие: передать ... и когда я получу .... Команда передать ... дается объекту, который уже окончил все либо некие свои деяния Последовательное выполнение скриптов (программ), а когда я получу ... применяется к объекту, который начинает работать вторым. Заместо 3-х точек в этих командах вписывается сообщение, которые мы сами назначаем.

Организуем для 2-ух объектов последовательное выполнение скриптов. Допустим, по нашему сценарию планируется такая анимация: кот поначалу прогуливается туда-сюда, после этого исчезает, и по экрану начинает метаться малюсенькое Последовательное выполнение скриптов (программ) привидение.

1-ый скрипт кота нужно поменять на таковой:

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

Сейчас поглядим, что будет делать 2-ой объект. Он должен получить сообщение, после этого Последовательное выполнение скриптов (программ) совершить какие-нибудь деяния:

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


poslednee-obnovlenie-ot-28112002.html
poslednee-pered-kanikulami-zasedanie-deputatov-gosdumi.html
poslednee-prizhiznennoe-intervyu-nikoli-tesla.html