Processing: "Schachbrett" blinken lassen?

1 Antwort

(...) per Klick auf ENTER (...)

Lässt du dir diesen Text irgendwo ausgeben oder meinst du doch einen Druck auf die Entertaste? Ich gehe folgend von ersterem aus.

Zuerst einmal kannst du prüfen, ob der Nutzer überhaupt einen Klick durchgeführt hat. Dies funktioniert mit mouseClicked. In der Folge kannst du via mouseX und mouseY die Mausposition überprüfen. Liegt sie in den Grenzen des Textfeldes ENTER? Wenn ja, setze eine Flag-Variable. Wenn dieser Flag bei Klick schon aktiv ist, sollte er wieder deaktiviert werden.

Pseudocode:

boolean blink = false

enterTextX = 0
enterTextY = 0
enterTextWidth = 100
enterTextHeight = 100

draw()
  drawText(enterTextX, enterTextY, enterTextWidth, enterTextHeight, "Enter")
  
  // draw rectangles

mouseClicked()
  if mouseX and mouseY in range of enterText field
    blink = !blink

Das Blinken der Vierecke kann man ja ganz einfach durch das Wechseln der Farbe erzeugen. Wenn der Flag gesetzt ist, könnte je draw call eine Zufallsfarbe generiert werden:

if blink
  fill(randomRed, randomBlue, randomGreen)
else
  fill(255)

rect(someX, someY, someWidth, someHeight)