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

Processing:Примеры/Сохранение входных данных

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


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

Контакты:

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


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


Описание[1]

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

Пример

  1. int num = 60;
  2. float mx[] = new float[num];
  3. float my[] = new float[num];
  4.  
  5. void setup() {
  6.   size(640, 360);
  7.   noStroke();
  8.   fill(255, 153);
  9. }
  10.  
  11. void draw() {
  12.   background(51);
  13.  
  14.   // циклически проходим через массив,
  15.   // на каждом кадре используя новое значение;
  16.   // быстрее делать это при помощи деления по модулю (%),
  17.   // а не двигая все значения массива:
  18.   int which = frameCount % num;
  19.   mx[which] = mouseX;
  20.   my[which] = mouseY;
  21.  
  22.   for (int i = 0; i < num; i++) {
  23.     // «which+1» – это самый старый (и самый младший) элемент массива:
  24.     int index = (which+1 + i) % num;
  25.     ellipse(mx[index], my[index], i, i);
  26.   }
  27. }

См.также

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

  1. processing.org - Storing Input