Я сделал анимацию, где падает много линий (капель воды);щелкая левой кнопкой мыши, вы просто замедляете их. Я также хочу контролировать их значение Y при падении: когда я щелкаю правой кнопкой мыши, они все следуют за ним.
Drop[] drops = new Drop[270]; // array
void setup() {
size(640, 360); // size of the window
for (int i = 0; i < drops.length; i++) {
drops[i] = new Drop();
}
}
void draw() {
background(52);
for (int i = 0; i < drops.length; i++) {
drops[i].fall();
drops[i].show();
drops[i].noGravity();
}
}
И класс Drop:
class Drop {
float x = random(width); // posizione x di partenza
float y = random(-180,-100); // posizione y di partenza
float yspeed = random(2,7); // velocità random
void fall() {
y += yspeed;
if (y > height) { // riposizionamento delle gocce
y = random(-180,-100);
}
}
void noGravity(){ //
if(mousePressed && (mouseButton == LEFT)){
y -= yspeed*0.75;
}
if(mousePressed && (mouseButton == RIGHT)){
this.y = mouseY + yspeed;
}
}
void show() { // funzione per l'aspetto delle gocce
stroke(52, 82, 235);
line(x,y,x,y+20);
}
}
Функция, о которой я говорю, - noGravity (), но когда я щелкаю правой кнопкой мыши, целое число следующих за моей мышью, всекапли просто выстраиваются в линию. Какие-нибудь простые предложения? Спасибо всем !!!