Четверг, 21.11.2024, 09:21
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Литература:  Шапошникова Светлана Вячеславовна
Лаборатория юного линуксоида - http://younglinux.info

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

Упражнение 1. Последовательное  выполнения скриптов объектами.
   При последовательном выполнении скриптов сначала все действия должен осуществлять один объект, затем второй и т.д.

Как же это можно сделать в Scratch?

  Например, можно просто использовать команду ждать в  начале скрипта второго объекта. Но на самом деле это будет никакое не последовательное выполнение скриптов, так как оба они начнут работать одновременно, просто у второго объекта сначала будет долго работать команда ждать.

Рассмотрим, более грамотный способ организации последовательного выполнения скриптов.

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

 Организуем для двух объектов последовательное выполнение скриптов. Среда Scratch2.
          Допустим, по нашему сценарию планируется такая анимация:

  •      кот сначала ходит туда-сюда, после чего исчезает,
  •      и по экрану начинает двигаться снежинка (например).               Проект
Первый скрипт- скрипт  кота: Второй скрипт -  скрипт снежинки:

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

  Понятно, что при первом исполнении скрипта она не имеет никакого значения.

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

Теперь посмотрим, что будет делать второй объект:

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


1. Обратите внимание, что команда скрыть первого объекта ниже, чем сообщить.... Это означает, что у нас не совсем последовательное выполнение скриптов. Ведь первый еще не заканчивается, когда начинается второй. В принципе, чаще именно так и бывает.
 2. Добавьте на сцену второй объект и запрограммируйте  его как показано выше.

          Упражнение 2. Одновременное выполнение нескольких скриптов одним объектом.
В Scratch можно сделать так, что два (или более) скрипта одновременно будет выполнять один объект.

  • Допустим, кот будет шагать и при этом менять свои размеры, форму и другие свойства.
  • При этом ходьба и изменение свойств друг с другом никак не будут связаны.

Сделать это можно, например, разместив два разных скрипта в среде скрипта для кота:

Проект

При нажатии на кнопку запуска начнут работать оба скрипта сразу:

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

 
Фиолетовые команды связанные с кнопкой внешность.

    
Во втором скрипте выше используется команда изменить эффект ... на ....

  •     После слова «изменить» в списке можно выбрать эффект, а в поле с числом прописать, на сколько единиц его менять.

     Команда очистить графические эффекты возвращает объект к его исходному внешнему виду.

Итак, второй скрипт в цикле всегда выполняет следующие действия:

 

  1.     меняет цвет объекта

  2.      оставляет объект в таком состоянии на 1 секунду
  3.      возвращает объект к прежнему цвету
  4.     искажает объект с помощью завихрения
  5.      оставляет в таком состоянии на 1 секунду
  6.      возвращает к исходной форме              .

             

Упражнение 3а. Интерактивность. Если кот с Scratch реагирует на действия реального человека (например, нажатие пользователем определенной клавиши), то это уже интерактивность, потому что объекты принадлежат разным "средам обитания".

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

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

  2. Дополним проект еще одним исполнителем следующим образом:

итог  -проект

 

Переменные и условный оператор
Упражнение 3б.       Усложним программу следующим образом:

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

Как организовать такую ​​программу?

1. Создадим ячейку-переменную под именем идущий.
2. Нам нужна эта переменная, чтобы в зависимости от ее значения двигался первый объект или второй:

  •   если идет = 0, то движется первый объект,
  •     а если переменная равна единице, то - второй.

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

 

Мы ничего не "клали" в переменную, однако по умолчанию ей и так присваивается значение 0, поэтому нам это делать не обязательно. К тому же, если вдруг сначала в переменной будет не ноль, то ничего страшного: сработает ветвь или.
Что же все-таки делает этот скрипт?

  •     Если значение переменной равно 0, то оно меняется на 1.

  •     Если же нет, то меняется на 0.

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

Составьте выше приведенный скрипт и переключитесь на первый объект.

Нужно организовать проверку значения переменной. Для этого прекрасно подойдет простая инструкция если. Вот такие сценарии выходят для первого и второго объектов:       проект

Можно и дальше поиграть с интерактивностью. Пусть объекты меняют свой внешний вид при нажатии определенных клавиш.

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

Форма входа
Поиск
Календарь
«  Ноябрь 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz