Processing:Примеры/Сохранение входных данных
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[1]
Перемещайте курсор мыши по экрану, чтобы изменить позицию эллипса. Позиции эллипса будут сохранены в массив и нарисованы на нескольких следующих кадрах. Кроме того, между прорисовкой кадров в конец массивов будут добавляться новые значения и удалены самые старые значения.
Пример
int num = 60;
float mx[] = new float[num];
float my[] = new float[num];
void setup() {
size(640, 360);
noStroke();
fill(255, 153);
}
void draw() {
background(51);
// циклически проходим через массив,
// на каждом кадре используя новое значение;
// быстрее делать это при помощи деления по модулю (%),
// а не двигая все значения массива:
int which = frameCount % num;
mx[which] = mouseX;
my[which] = mouseY;
for (int i = 0; i < num; i++) {
// «which+1» – это самый старый (и самый младший) элемент массива:
int index = (which+1 + i) % num;
ellipse(mx[index], my[index], i, i);
}
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |