# Gameloop tiles anzeigen



## Nummer6800 (30. Jul 2015)

Hallo.

Javafx

```
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?


----------



## BRoll (30. Jul 2015)

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.


----------



## Schmetterhand (17. Aug 2015)

Also ich habe hier schon eine Prinzipielle JavaFx-Spielschleife beschrieben, ich weiß nicht, ob du es genauso machst. Aber wie BRoll schon sagte…


BRoll hat gesagt.:


> 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


----------



## Nummer6800 (17. Aug 2015)

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.


----------

