Я пытаюсь создать код в процессе обработки, который позволяет запускать определенный цвет при рисовании мышью. Прямо сейчас цвет выбирается случайной функцией, которая случайным образом изменяет число от 1 до 0, а затем на основании того, находится ли значение выше или ниже 0,5, выбран цвет. То, как я собирался делать цветовые прогоны, это иметь цикл for ниже, где выбирается случайное число с плавающей точкой, а затем использовать цветовые функции внутри него, однако, если я помещу это в цикл for в void draw (), это не сработает, потому что это вызывается с частотой кадров. Если я помещаю его в void mouseDragged (), возникает та же проблема, что он вызывается только один раз при каждом перетаскивании мыши.
По сути, я пытаюсь выяснить метод, чтобы один из двух цветов был выбран случайным образом, затем нарисовал этот цвет для определенного количества кадров (при перетаскивании мыши), а затем после этого количества кадров случайным образом выбрал один из снова два цвета и повторите.
Вот код, который у меня есть для рисования прямо сейчас (где цвет определяется случайным образом в каждом кадре):
void setup() {
size(1000, 1000);
background(000);
}
void draw() {
}
void mouseDragged () {
//assigns random float between 0 and 1 which is used for deciding which color to paint
float x = random(0, 1);
//assigns random stroke value
stroke(random(100, 200));
if (x <= .5) {
fill(20, 255, 255);
ellipse(mouseX, mouseY, mouseX/4, mouseY/4);
}
if (x > .5) {
fill(random(220, 250), random(20, 50), random(220, 250));
ellipse(mouseX, mouseY, mouseX/4, mouseY/4);
}
}
Спасибо за вашу помощь.