Processing bestimmtes Feld einfärben

WeissNicht998

Neues Mitglied
Ahoi,
ich muss für die Schule ein kleines dynamisches Processing Projekt erstellen, welches bisher so aussieht:
Code:
int p = 0; //Breite und Höhe eines Feldes

void setup () {
  size(400,400);
  smooth();
  rect(0,0,400,400);
}

void draw(){
  line(p,0,p,400);
  line(0,p,400,p);
  p += 20;
}

Jetzt will ich erreichen, dass das Feld, welches angeklickt wird, sich schwarz färbt.
Wie mach ich das am besten?

Danke!
 
Deine draw Methode liefert nur zufällig dein gewünschtes Raster. Was passiert, wenn das p den maximalen Integer-Bereich überschreitet ?

Der richtige Ansatz wäre eine for-Schleife in der draw Methode.
Danach benötigst du noch die mousePressed Methode, in der du die Mausposition beim Klicken abfragen kannst.
 
@Dompteur Wow du hast natürlich recht. Hab irgendwann mal mit Processing am Anfang meiner Schulzeit was zu tun gehabt.

Auf jedenfall muss bei einem Klick die Koordinate gespeichert werden und im draw dann das richtige rectangle schwarz gefärbt werden (zum Raster zeichnen eine Schleife verwenden!)
 
Kannst du nicht einfach einen FocusListener schreiben, der das macht?
Genau das wäre ja die von mir vorgeschlagene Methode "mousePressed".
Diese wird in Prozessing von der Laufzeitumgebung aufgerufen, wenn ein Mausklick erkannt wird.

Da es sich hier ja offensichtlich um eine Hausübung handelt, wollte ich keine fertige Lösung posten, sondern nur Denkanstöße geben.
 

Zurück
Oben