p5.js MiniGame?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wenn du dir die Koordinaten der Rechtecke merkst, kannst du sie auch, sobald sie aus dem Bildschirmbereich verschwunden sind, wieder an den Anfang positionieren.

Die Koordinaten kannst du dir in einem Array speichern.

const positions = [];
positions.push({ "x": /* ... */, "y": /* ... */ });

Bei jedem draw call läufst du einmal mit einer Schleife durch das Array, um die Positionen jedes Rechtecks zu aktualisieren und zu prüfen. Wenn die Position außerhalb des Bildschirmbereichs ist, setzt du sie neu.

Ein Beispiel, wie du an einen x-Wert wieder herankommst:

let x = positions[0].x;

Hierbei würde das erste Element aus dem Array herangezogen werden.

Hallo!

Du hast im Grunde zwei Möglichkeiten, unendlich viele Rechtecke zu spawnen:

  1. Du setzt das Rechteck wieder zurück, wenn es vom Bildschirm verschwunden ist
  2. Du definierst eine Klasse (eine Art Anleitung), nach der du auch neue Rechtecke instanziieren (herstellen) kannst und hinterher wieder löschst

Die "bessere" Möglichkeit ist definitiv die Zweite. Wenn du Objektorientierung schon beherrschst, verwende sie; ansonsten kannst du es mit etwas Zeit, Lust, Ehrgeiz und Tutorials im Internet lernen.

Wenn Du eher auf eine schnelle/einfache Lösung als auf professionelles Programmieren aus bist, nutzt Du einfach immer die gleichen 2 Rechtecke und setzt sie immer wieder zurück.

Dafür ist Dein Ansatz mit dem if schon mal richtig, warum es nicht funktioniert, kann ich nicht wissen. Wenn Du es trotz viel Probieren nicht schaffst, müsstest Du den ganzen Code in die Frage stellen; vielleicht bin ich dann noch wach, sonst hilft sicherlich wer anders :)

Viele Grüße!