У KTurtle можна було організувати взаємодію програми з користувачем лише за допомогою діалогових вікон. У Scratch можна використовувати мишу і клавіатуру. Для наочної ілюстрації цих можливостей імпортуємо з бібліотеки Scratch об'єкт Drawing pencil (малючий олівець) він знаходиться в каталозі Things (Речі). Цей об'єкт з'являється з уже готовим скриптом:

Видаліть зі сцени кота і додайте малює олівець. запустіть програму і з'ясуйте, що робить цей олівець? Зупиніть виконання програми. Тепер детально розберемо скрипт олівця. Після того як програма запущена, товщина пера збільшується до 5 точок через команди встановити розмір пера ..., яка знаходиться в групі команд, які відображаються при натисканні кнопки перо. Насправді малює зовсім не олівець, а саме невидиме перо, яке ми прив'язуємо до нашого об'єкту. Іншими словами, можна використовувати для малювання абсолютно будь-який об'єкт (кота, людини, м'яч і т.п.). Далі в скрипті використовується цикл завжди, отже, то, що знаходиться всередині нього, виконується постійно, поки програма працює. завжди виконується наступне:

Якщо ліва кнопка миші натиснута, то олівець переміщається в місце, де знаходиться її покажчик і перо опускається; якщо кнопка не було натиснуто, то перо піднімається. Коли перо опущено на полотні залишаються сліди від його переміщення, тобто рухаючи мишею, ми рухаємо і олівцем і прив'язаному до нього пером в  опущеному стані. В результаті виходить, що при виконанні програми олівець малює, коли кнопка миші натиснута, і не малює, коли відтиснуті. малювання відбувається в тому місці, де знаходиться курсор миші. Також додайте скрипт для об'єкта Сцена, який очищає полотно при запуску програми:

Потрібно клацнути по (зеленому прапорцю) → очистити. Вімкнеться малювання за допомогою клавіатури. Тепер складемо «малює» скрипт самостійно. Для цього додамо на сцену ще один олівець, видалимо наявну у нього програму і назвемо його pencil. Керувати ним будемо за допомогою клавіатури. Такі  скрипти дозволять нам рухати олівець по полотну за допомогою стрілок на клавіатурі. Згадайте KTurtle: коли черепашка дивилася вгору, то її напрям дорівнював 0, якщо вправо, то 90 і т.д. Тут так само. Складіть скрипти і не забудьте переключитися у режим «не повертати назад» в осередку властивостей об'єкта, щоб олівець не крутився на полотні. Якщо тепер запустити програму і управляти олівцем за допомогою стрілок, то ми побачимо, як він переміщається по полотну. Однак слідів не залишає, тому що перо не було опущено. Щоб виправити цей недолік, треба додати ще один маленький скрипт для олівця: потрібно клацнути по (зеленому прапорцю → опустити перо)

 

Спробуйте, але майте на увазі, що цей скрипт буде виправлений., тепер олівець повинен не тільки рухатися, але і малювати. Ускладнимо програму для олівця, додавши ще кілька невеликих сценаріїв:

 

 

Вони дуже прості і очевидні. Тепер, коли запускається програма, перо має завжди підніматися. Воно буде опускатися при натисканні клавіші d. Майте на увазі, що літерні клавіші можуть спрацьовувати лише при включенні англійської розкладки клавіатури. При натисканні клавіші u перо знову підніметься. За рахунок всього цього ми можемо переміщати олівець не малюючи на полотні, потім за бажанням опускати перо і малювати. Наш олівець може малювати випадковим кольором за рахунок використання комбінації команд встановити колір пера ... і видати випадкове число від ... до .... Перемикання кольору відбувається при натисканні пробілу. Додайте ці скрипти вашому олівцю.

Наприкінці давайте зробимо наступне:

Додамо на сцену третій об'єкт, наприклад, м'яч, і назвемо його штамп. Нехай він залишає копію свого зображення при натисканні клавіші p там, де знаходиться запрограмований нами олівець в поточний момент. Як це зробити?

1. По-перше треба спочатку отримати поточні значення координат x і y олівця.

2. По-друге, треба перемістити м'яч в точку з координатами x і y.

3. І по-третє, треба виконати команду друк.

Найскладніший тут перший пункт. Щоб дізнатися значення будь-якого властивості об'єкта, використовується команда <властивість> від <об'єкт>, що знаходиться в сенсорах. Швидше за все, вона у вас виглядає так: положення x від drawing_pencil. Підсумковий скрипт буде приблизно таким:

Команда встановити розмір ...% не обов'язкова. коли виконується конструкція йти в x: стан x від pencil у: положення y від pencil, то спочатку з'ясовуються координати олівця, а потім вони підставляються в команду йти в x:  ... Y: .... Запрограмуйте ваш штамп. Запустіть програму і оціните її можливості.

 

Самостійна робота Згадайте, як програмувались зображення на полотні в середовищі KTurtle. Напишіть програму в Scratch, в результаті виконання якої на полотні з'являлися б дві геометричні фігури (наприклад, окружність і п'ятикутник).

 

 

Автор Krystyna << попереднянаступна >> До змісту


2016-06-07 • Просмотров [ 175 ]