Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Processing:Примеры/Сигналы от мышки

Материал из Онлайн справочника
Перейти к: навигация, поиск


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Описание[1]

Двигайте мышкой и нажимайте на ее кнопки, чтобы генерировать сигналы на экране. Верхний ряд отображает движение мыши по оси X (mouseX), средний – это движение мыши по оси Y (mouseY), а нижний – визуализация нажатий на кнопку мыши (mousePressed).

Пример

  1. int[] xvals;
  2. int[] yvals;
  3. int[] bvals;
  4.  
  5. void setup()
  6. {
  7.   size(640, 360);
  8.   noSmooth();
  9.   xvals = new int[width];
  10.   yvals = new int[width];
  11.   bvals = new int[width];
  12. }
  13.  
  14. int arrayindex = 0;
  15.  
  16. void draw()
  17. {
  18.   background(102);
  19.  
  20.   for(int i = 1; i < width; i++) {
  21.     xvals[i-1] = xvals[i];
  22.     yvals[i-1] = yvals[i];
  23.     bvals[i-1] = bvals[i];
  24.   }
  25.   // добавляем новые значения в конец массива:
  26.   xvals[width-1] = mouseX;
  27.   yvals[width-1] = mouseY;
  28.   if(mousePressed) {
  29.     bvals[width-1] = 0;
  30.   } else {
  31.     bvals[width-1] = 255;
  32.   }
  33.  
  34.   fill(255);
  35.   noStroke();
  36.   rect(0, height/3, width, height/3+1);
  37.  
  38.   for(int i=1; i<width; i++) {
  39.     stroke(255);
  40.     point(i, xvals[i]/3);
  41.     stroke(0);
  42.     point(i, height/3+yvals[i]/3);
  43.     stroke(255);
  44.     line(i, 2*height/3+bvals[i]/3, i, (2*height/3+bvals[i-1]/3));
  45.   }
  46. }

См.также

Внешние ссылки

  1. processing.org - Mouse Signals