А ось якщо кіт з Scratch реагує на дії реальної людини (наприклад, натискання користувачем певної клавіші), то це вже інтерактивність. Нехай потрібно зробити так, щоб людина могла керувати поведінкою кота на полотні Scratch. Якщо написати такий сценарій , То після його запуску, об'єкт буде переслідувати покажчик, якщо затиснути ліву кнопку миші. Команда мишка натиснута? Знаходиться в розділі сенсори, де згруповані команди, призначення яких - перевіряти наявність заданих змін в навколишньому середовищу об'єкта.
Наприклад, команда мишкою по x відстежує, де знаходиться курсор миші по осі x. Керуюча конструкція, якщо вона схожа на цикл завжди, за винятком того, що ця конструкція поєднує в собі цикл з умовою. такий цикл виконується лише тоді, коли умова істинна. В даному випадку, коли мишка натиснута. Складіть такий сценарій. Бажано в осередку властивостей об'єкта включити кнопку "тільки поворот вліво-вправо". Після чого додайте на сцену ще один об'єкт, продублюйте сценарій першого об'єкта і перенесіть його на другий. В підсумку по полотну слідом за курсором миші повинні "ходити" два об'єкти. Змінний і умовний оператор, ускладнимо програму в такий спосіб. Нехай об'єкти переміщуються не разом, а нарізно: спочатку один бігає за курсором, потім - інший. перемикання
"Активності" між об'єктами нехай відбувається за допомогою клавіші пробіл. як організувати таку програму? Відповісти на це питання буде дуже складно, якщо не знати про дуже важливою складовою будь-якого програмування - про змінних. змінні являють собою осередки, в яких зберігаються будь-які дані (число, рядок і ін.). Причому вміст комірок може змінюватися в процесі виконання програми. У якийсь момент можна перевірити, що там знаходитися і в залежності від цього виконувати певні команди чи ні. Створимо осередок-змінну під ім'ям йти. Для цього потрібно натиснути на кнопку змінні і, потім, в осередку команд Scratch натиснути Створити змінну; в діалоговому вікні ввести її ім'я і натиснути ОК. після чого у нас з'явиться сама змінна і кілька команд для її зміни. Нам потрібна ця змінна, щоб в залежності від її значення рухався перший об'єкт або другий.
Нехай якщо йти = 0, то рухається перший об'єкт, а якщо змінна дорівнює одиниці, то - другий. Зміна значення змінної буде відбуватися при натисканні клавіші пробіл. Оскільки дана частина програми відноситься до обох об'єктів, то доречно розташувати скрипт в об'єкті Сцена (хоча не обов'язково), переключившись на нього. Ось цей сценарій: Замість пробілу можна вибрати іншу клавішу в списку першої команди сценарію. Далі йде складна інструкція якщо - або. вона працює так: якщо умова в частині якщо істинно, то виконуються вкладені команди після якщо, інакше - будуть виконуватися вкладені команди після або. Обидві "гілки" ніколи разом не виконуються, вони взаємно виключають одне одного. Тепер розглянемо умови при змінній якщо. Зелені команди відносяться до операторів. Оператори - це такі команди, які щось роблять з даними. Наприклад, виконують математичні операції або порівнюють числа між собою. В даному випадку обраний оператор порівняння на рівність. він перевіряє одно чи вираз зліва від знака "=" висловом справа. Якщо - так, то буде працювати код після якщо, якщо - ні, то код після або. У нашому випадку порівнюються значення змінної йде і 0. Ми нічого не "клали" в змінну, однак за замовчуванням їй і так 20 присвоюється значення 0, тому нам це було робити не обов'язково. До того ж, якщо раптом спочатку у змінній буде не нуль, то нічого страшного: спрацює гілка або. Що ж все-таки робить цей скрипт? Якщо значення змінної дорівнює 0, то воно змінюється на 1. Якщо ж ні, то змінюється на 0. Виходить, що натискання клавіші пробіл поперемінно змінює значення змінної йде. Однак при виконанні програми ми не побачимо ніяких змін. Дійсно, адже об'єкти ще «не знають ", до якого значенням змінної прив'язані їх дії. Складіть вищенаведений скрипт і переключіться на перший об'єкт. Потрібно організувати перевірку значення змінної. Для цієї мети прекрасно підійде проста інструкція якщо. Ось такі сценарії виходять для першого і другого об'єктів.
Різниця між ними тільки в тому, з чим порівнюється значення змінної: з нулем або одиницею. А як ми знаємо, її значення змінюється при натисканні пробілу. В результаті, коли програма запущена, ми можемо змінювати "активний" об'єкт. Доробіть програму і подивіться, як вона працює. Можна і далі пограти з інтерактивністю. Нехай об'єкти змінюють свій зовнішній вигляд при натисканні певних клавіш. Наприклад, так: Можете спробувати свої варіанти. Самостійна робота Складіть програму в середовищі Scratch, при виконанні якої користувач може управляти об'єктом за допомогою стрілок на клавіатурі, а при натисканні будь небудь інших клавіш, об'єкт "думає" різні "думки".
Автор Krystyna << попередня • наступна >> До змісту