Börjar bearbetning - temperatur bildeffekter (4 / 7 steg)
Steg 4: Fylla objekt med matriser
Två cirklar är bra. Men vad händer om vi ville skapa 200 cirklar samtidigt? Ett sätt att göra detta vore att initiera 200 föremål för hand, och sedan åberopa alla deras metoder en efter en.
För att rädda oss från alla som skriver, vi kan helt enkelt använda en matris som rymmer 200 föremål. Fördelen med att använda en matris är att vi kan använda en "för" slinga för att iterera genom alla vektorelement, och göra något för att var och en av dem.
Koden för att fylla 200 cirklar går ungefär så här:
int numCircle = 200.
Cirkla [] cirklar = nytt cirklar [numCircle]; array-deklaration
void setup() {
size(400,400);
Smooth();
initierar 200 cirklar
för (int jag = 0; jag < numCircle; i ++) {
cirklar [i] = nya Circle(random(width),random(height),20,color(130,0,250,60));
}
}
void draw() {
Background(255);
startar metod för varje objekt
för (int jag = 0; jag < circles.length; i ++) {
Circles[i].display();
Circles[i].jiggle();
}
}
se resultatet ovan.
Här, i setup(), vi använde en for-loop att gå till varje cell i matrisen "cirklar" och initiera ett objekt för var och en. Senare, i draw() upprepade vi genom varje cirkel-objekt lagras i matrisen "Cirkel typ" och anropas metoder av varje.
Det bästa är, nu, oavsett hur många kretsar vi vill, kan det vara två eller två miljoner (även om, som skulle sakta ner din dator avsevärt!), vi måste bara tweak variabeln "numCircle" och resten kan förbli samma.