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)

Hallo, wie kann ich die einzelnen Felder eines Schachbretts in Processing mit den zugehörigen Koordinaten beschriften? Also erstes Feld A1 usw. ?

...zur Frage

Hilfe Java (processing), ich verstehe die schleifen einfach nicht?

hallo kann mir jemand eine gute seite empfelen in der die schleifen gut erklärt werden? vorallem for, if und else. ich habe mir schon so viel angesehen. ansich weiß und versteh ich wie die schleifen aufgebaut sind. ich verstehe aber einfach null welche werte ich eingeben muss, damit das rauskommt was ich möchte. ich tu mich allgemein sehr schwer im programmieren ich bräuchte quasi ein buch wie "java für volltrotel" (das dummi buch habe ich schon).

...zur Frage

Text in Processing neuschreiben

Hallo, ich hab ein Problem mit dem Text in Processing. Hier ist ein Teil des Quellcodes der im void draw steht.


Ausgabe = ("Die aktuelle Temperatur beträgt ") + temperatur + (" °C"); PFont font; font = loadFont("ArialMT-30.vlw"); textFont(font); textSize(20); fill(255); text(Ausgabe,50,50));


Das Problem ist, dass sich die Variable: "Ausgabe" jede Sekunde ändert. Aber auf dem Fenster überschreibt sich der Text immerwieder. Wie kann ich das machen, dass der Text mit neuem Wert der Vaiable neu geschrieben wird?

...zur Frage

Wieso funktioniert folgender Code nicht?

Also ich wollte vor einigen Monaten mal ein Ping Pong Spiel in Processing programmieren. Damals hatte ich nur das Menü gemacht. Doch ich kannte keine Objekte, also war mein Code ziemlich voll Müll. Heute habe ich mal die ganzen Variablen durch Objekte ersetzt. Das sieht jetzt ungefähr so aus:

Jedoch bekomme ich immer diese Fehlermeldung in der Konsole, also mir wird nichts rot unterstrichen oder so:

Ich kann damit leider nichts anfangen und das passiert leider öfters, wenn ich mit Objekten arbeite. Vielleicht wisst ihr ja weiter. Version ist übrigens 3.3.7

Vielen Dank Vorab

Liebe Grüße

Marlon

...zur Frage

Processing Ball vorwärtsbewegen lassen?

Guten Abend,

Ich mache für die Schule ein Projekt mit Processing und würde gerne 2 Jungs zeichnen die Fussball spielen. Ich habe alles so weit in Ordnung, doch ich schaffe es nicht, denn Ball nachdem er vom Fuss des Spielers wegfährt auch im gleichen Tempo am gegnerischen Fuss abprallt und dann im gleichen Tempo wieder zurückkommt. Stattdessen bleibt er einfach am gegnerischen Fuss hängen.

Ich habe hier die Definitionen der Variablen und den Befehl für den Ball reinkopiert, könnte mir jemand sagen, was ich falsch gemacht habe und mir eventuell auch ein Lösungsvorschlag zeigen?

Danke im Voraus

Mit freundlichen Grüssen

int i=0;

int u=0;

int z=255;

int k=0;

//Ball

fill (209,202,202);

ellipse (170+k,665,50,50);

k=(k+6);

if(k==600){

k=(k-6);

...zur Frage

2D Array mit unterschiedlicher länge befüllen?

public static void main(String[] args) {

//Array mit unterschiedlichen Längen,

int[][] d = new int[4][];

for(int i = 3; i >=0; i--) {
    d[i] = new int[i];
    // 1.Zeile 4 Elemente
    // 2.Zeile 3 Elemente
    // 3.Zeile 2 Elemente
    // 4.Zeile 1 Elemente
}

for (int i = 0; i<d.length; i++){
    for (int j = 0; j<d[i].length; j++){
        d[i][j] = 0;
        System.out.print(d[i][j] + " ");
    }
    System.out.println();
}

Also ich will einfach das Array vollschreiben, mit 0 überall.

Aber irgendwie versteh ich nich wo das Prob is.

Ich hüpfe in die erste Zeile, dann in die 1. Spalte der ersten zeile, ...., dann in die 4. Spalte der ersten Zeile, fertig Ausgabe, ab in die zweite Zeile.

Aber ich bekomme Nullpointerexception.

...zur Frage

Was möchtest Du wissen?