Processing:Примеры/Сохранение входных данных: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Описание<ref>[https://processing.org/examples/storinginput.html processing.org - Storing Input]</ref>= | =Описание<ref>[https://processing.org/examples/storinginput.html processing.org - Storing Input]</ref>= | ||
Строка 104: | Строка 101: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | {{Навигационная таблица/Портал/Processing}} |
Текущая версия от 07:48, 27 августа 2023
Содержание | Среда разработки 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 | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |