21.12.18

Завдання "Сова"

Створіть функцію для побудови зображення сови відповідно до шаблону:
  stroke(0); 
  strokeWeight(80);  
  line(x, y, x, y+40);  
  noStroke();  
  fill(255);  
  arc(x, y, 80, 80, 0, PI);  
  ellipse(x-20, y, 40, 40);
  ellipse(x+20, y, 40, 40);
  fill(0);   
  ellipse(x+20, y, 10, 10); 
  ellipse(x-20, y, 10, 10);
  quad (x,y+10,x+5,y+15,x,y+20,x-5,y+15);

Використайте функцію для побудови групи сов:
https://dystosvita.gnomio.com/mod/assign/view.php?id=4245

09.12.18

Інтерактивність та обробка подій

Функція setup() - виконується один раз під час запуску програми та draw() - виконується постійно у циклі, до завершення роботи програми.
У функції setup() відбуваються початкові налаштування, а функцію draw() зручно використовувати для обробки постійної зміни значень змінних, зокрема системних.

Системні змінні

У середовищі Processing можна користуватись системними змінними, наприклад координати положення миші: попереднє (pmouseX, pmouseY) і поточне (mouseX, mouseY).
Розмістивши у процедурі void setup() базові налаштування (розмір полотна та колір тла), за допомогою процедури void mouseDragged() можна обробляти переміщення миші.
Так, команда point (mouseX, mouseY); малюватиме точки у поточному положенні вказівника миші, і рухаючи мишею можна отримувати її шлях на екрані:
void setup()
{
size (640,480);
background (255,0,0);
strokeWeight(6);
stroke(0,255,0);
}
void draw()
{
point (mouseX, mouseY);
}
Замінивши малювання точки командою малювання лінії отримаємо суцільну неперервну лінію
line (pmouseX, pmouseY, mouseX, mouseY);
 

Функція клацання мишкою

Цей слід можна витерти, якщо запрограмувати подію клацання мишкою і внести в її обробник команду встановлення початкового тла:
void mousePressed()
{
background (255,0,0);
}
Тепер клацання мишкою очищує робоче тло проекту.
Зверніть увагу, що функція mousePressed() працює лише у поєднанні з функцією void draw().
Якщо потрібно виконувати побудови за клацанням миші, можна скористатись додатковою перевіркою  в межах процедури void draw():