Gameloop tiles anzeigen

Nummer6800

Aktives Mitglied
Hallo.

Javafx
Java:
public void start(Stage primaryStage) {
  generateMap();
  drawTiles();
}

So kann ich die tiles (Bloecke) zeichnen.

Dann will ich aber ein tile entfernen lassen.
In JavaFx in der scene:
root.getChildren().remove(beispiel);

Es ist dann immer noch zu sehen.

Wie mache ich das in der Theorie, dass jenes tile nicht mehr angezeigt wird?

Habe dann
generateMap();
drawTiles();

in meine gameloop gesteckt:

public class GamePlayLoop extends AnimationTimer {

Aber aufeinmal laeuft alles super langsam! Geht das wirklich so?
 
Zuletzt bearbeitet von einem Moderator:
generateMap() in den GameLoop 😱
Bist du dir sicher dass das dort hingehört?
Ich weiß ja nicht wie lange der Generator benötigt, aber das wundert mich nicht dass dann alles plötzlich "super langsam" läuft.
 
Also ich habe hier schon eine Prinzipielle JavaFx-Spielschleife beschrieben, ich weiß nicht, ob du es genauso machst. Aber wie BRoll schon sagte…
generateMap() in den GameLoop 😱
Bist du dir sicher dass das dort hingehört?
Ich weiß ja nicht wie lange der Generator benötigt, aber das wundert mich nicht dass dann alles plötzlich "super langsam" läuft.
…gehört das nicht in die Spielschleife. Ich arbeite derzeit an einem eigenen Spiel, das auch eine Karte generiert, aber diese Funktion wird schon im Konstruktor der Klasse aufgerufen. In der Spielschleife werden die Daten nur noch verändert, nicht generiert.
Hier eine kleine Erklärung für den Aufbau sauberen eines Spiels (Also Daten, Tasteneingaben und Sicht, also Nodes in JFX, werden getrennt): https://de.wikipedia.org/wiki/Model_View_Controller
 
Danke. Habe das Problem damals anders geloest. Ein neues Bild wird nur noch aufgebaut, wenn irgendetwas geschieht z.B. Spielfigur einen gewissen Ausloeser betritt. So habe ich die geringste Belastung.
 

Zurück
Oben